2014-01-22 2 views
0

스크립트에 문제가 있습니다. 하나의 디렉토리에있는 모든 파일을 다른 디렉토리로 옮기려고하는데, 파일 경로에 대한 배열을 참조합니다 (아래 참조). 어떤 이유로 그것은 작동하지 않습니다. 명령을 실행할 때 아무 것도하지 않습니다.이동 항목 명령에서 Powershell 배열 참조

  • 폴 데라
  • folderB
    • subFileA.txt
  • fileA.txt
  • fileB.txt
  • : 여기

    는 소스 디렉토리의 내용입니다 등

여기 내 명령입니다 : 나는 그것을 실행하면

mv .\$PRODUCTS_OLD_NAMES[0]\* .\$PRODUCTS_NEW_NAMES[0]\newfolder 

는 아무 일도 발생하지 않으며, 오류가 발생하지 않습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?


편집 : CB's 대답은 완벽하게 작동하고 솔루션입니다.

+0

$ PRODUCTS_OLD_NAMES 및 $ PRODUCTS_NEW_NAMES의 출처를 알아야합니다. 더 많은 코드를 게시 할 수 있습니까? – Trondh

답변

1

시도 ($PRODUCTS_OLD_NAMES$PRODUCTS_NEW_NAMES 유효 경로이다 가정!) $() 사용 -> 가변 확장 구문

CB 의해 제안
mv .\$($PRODUCTS_OLD_NAMES[0])\* .\$($PRODUCTS_NEW_NAMES[0])\newfolder 
+0

복사 라인을 수정하여 실행할 때 결과는 다음과 같습니다. 'PRODUCTS_OLD_NAMES [0] : 'PRODUCTS_OLD_NAMES [0]'이 (가) cmdlet의 이름, function ...으로 인식되지 않습니다. 그러나'echo $ PRODUCTS_OLD_NAMES [0]'을 실행하면 예상되는 결과가 나옵니다. –

+0

** 업데이트 ** 식에'$'를 두 번 사용하지 않았습니다. 내가 게시 한 것과 정확히 일치하는 행을 복사했을 때 완벽하게 작동했습니다. 고맙습니다! –

+0

@ user1347428 도와 드리겠습니다. –

0

이 솔루션이다

mv .\$($PRODUCTS_OLD_NAMES[0])\* .\$($PRODUCTS_NEW_NAMES[0])\newfolder

참고 배열 참조를 바깥 쪽 $ 부호와 함께 묶는 괄호