나는 아래의 PowerShell 구문을 stdout을 캡처하는 데 실수로 사용했습니다.PowerShell은 exes 명령을 비활성으로 만듭니다?
$output = devenv.exe .....
또는 함수 매개 변수로 exe를 호출하면 다음과 같이 나타납니다 :
obj.LogOutput((devenv.exe ...))
이러한 명령 중 하나가 실행 된 후에는 같은 명령 창 내에서 아무것도하지 마십시오. 예를 들어 devenv, echo 또는 xcopy를 실행하면 실행하지 않고 즉시 반환됩니다. "devenv /?"를 실행하면 산출물은 생산되지 않았다. 명령 창을 닫고 새 창을 시작하면 모든 것이 정상으로 돌아 왔습니다. 이 명령을 다시 실행할 수있었습니다.
무엇을 제공합니까? 구문이 올바르지 않지만 PowerShell이 구문에 오류가 발생하지 않았다는 것을 알고 있습니다. 대신 다음 EXE를 실행할 때 자동으로 실패합니다 (PowerShell 명령은 계속 작동합니다, btw). 내 구문이 PowerShell을 너무 망 쳤단 말인가? 나는이 행동을 다시보고 있기 때문에 주로 묻습니다. 그러나 위 스크립트를 스크립트에서 찾을 수 있습니다.
$output = devenv.exe .....
$output = devenv.exe .....
업데이트 : 내 생각에이 구성은 다음과 같습니다. 원래 스크립트에서 문제를 일으키는 코드 줄과 매우 유사하지만이 코드는 독립 실행 형에서 문제를 재현하지 않습니다. 어쨌든 모든 EXE가 작동하지 않게 만드는 꿈을 꾸는 문법은 없을 것이라고 생각합니다.
Ctrl + C를 누르면 어떻게됩니까? – mjolinor
더 잘 재현하면 PowerShell 용 connect.microsoft.com에 버그를 제출해야합니다. – JasonMArcher