텍스트 파일을 매개 변수로 사용하는 Powershell 스크립트를 작성하고 있습니다. 텍스트 파일은 다음과 유사합니다.텍스트 파일의 명령으로 추가 Powershell 인스턴스 시작
echo "1"
echo "2"
echo "3"
원하는 것은 새로운 Powershell 인스턴스에서 각 행을 실행하는 것입니다. 따라서 위 예제에서 3 개의 추가 인스턴스가 만들어지고 각각의 인스턴스는 텍스트 파일에서 한 줄을 실행합니다. 인스턴스를 시작할 수 있지만 파일의 행을 명령으로 처리 할 인스턴스를 가져올 수 없습니다.
$textFile=$args[0] #File with Powershell commands
foreach($cmdd in get-content $textFile){
cmd /c start powershell -NoExit -command {param($cmdd) iex $cmdd} -ArgumentList $cmdd
}
이 코드를 실행하면 인스턴스가 열리고 많은 정보가 인쇄 된 다음 즉시 닫힙니다. 너무 빨리 닫히기 때문에 정보가 무엇인지 알 수 없습니다. 그러나 텍스트 파일은 숫자 1, 2 및 3을 인쇄하는 것으로 만 구성되기 때문에 제대로 작동한다고 생각하지 않습니다. 실행 후 창을 닫지 않게하는 방법이 있습니까?
새로 만든 인스턴스가 여전히 닫힙니다. 나는 그것들을 너무 열어 놓고 싶다. – user2132167
현재 세션 외부에서 인스턴스를 시작하려면 Start-Process를 사용해야합니다. 그러나 나는 당신이 그 맥락에서 당신의 명령 인수에 scriptblock을 사용할 수 있다고 생각하지 않는다. – mjolinor