누군가 여기서 내가 무슨 일이 일어나고 있는지 설명해 줄 수 있습니까? 이 기본적인 질문 인 경우 죄송합니다, 내가 쓰기 위해 노력하고있어 파이프 라인 표현에서 단순화 :powershell에서 명령 실행에 관한 질문
$foo = pwd
$cmd = "dir"
& $cmd $foo #Works
dir $foo #Works
& "dir $foo" #Error
* 용어 'DIR C : \'cmdlet에로 인식되지 않습니다, 기능, 실행할 수있는 프로그램을 , 또는 스크립트 파일. 용어를 확인하고 다시 시도하십시오. 행에서
: 1 문자 : 2 + & < < < < "디렉터리 $ foo는"*
dir pwd #Error
*은 Get-ChildItem을을 : 경로를 찾을 수 없습니다 'C : PWD \'이 존재하지 않기 때문에 . 행에서
: 1 개 문자 : 4 + 디렉토리 < < < < PWD *이
나는 하나의 인자로 해석됩니다 같은 결과
따옴표
"'? '$ cmd'를 어디서나 사용하는 것처럼 보이지 않습니다. –
죄송합니다. 복사 붙여 넣기 오류입니다. $ dir은 $ cmd로되어 있습니다. – JasonHorner
Invoke-Expression을 사용하거나() 또는 $() 또는 @()를 사용하여 이러한 종류의 문제를 해결할 수 있습니다. 디렉토리 (PWD) 디렉터리 $ (PWD) 의 dir $의 PWD (...이 사람이 왜 작동하는지 확실하지) 호출 표현 "디렉토리 (PWD)" 돈 : 예를 들어, 4 일 작업을 만들려면 Powershell로 너무 많은 이유를 물어볼 필요가 없습니다. 두통의 가치는 없지만 작동하고 실험 할 수있는 것들을 기억하십시오. – Mike