명령 줄에서 스크립트를 실행할 때 인수 전달PowerShell로 작성된 더 큰 스크립트의 일부로 실행되는 JMP 스크립트가 있습니다.
다음을 사용하여 JMP 스크립트를 시작합니다.
Start-Process -FilePath $JMP_path -ArgumentList ("`""+$JMPScriptPath+"`"") -Wait스크립트에 추가 인수를 전달하고 싶습니다. 텍스트 문자열 만 있습니다.
어떻게하나요?
환경 변수에 작성하려고 시도했지만 JMP는 독립 실행 형으로 실행될 때 잘 읽을 수 있지만 JMP가 PowersShell 내에서 시작되면 읽을 수 없습니다. 또한 JSL 스크립트에서만 읽을 수 있도록 Powershell 스크립트의 파일에이 문자열을 쓰는 것을 피하고 싶습니다. 해당 문자열을 스크립트에 전달하는 방법이 있습니까? 아니면 JMP가 Environmenta 변수를 읽을 수 있도록 Start-Process를 다른 방식으로 사용해야할까요?
스크립팅Re : 명령 줄에서 스크립트를 실행할 때 인수 전달확인,
지금은 이렇게하고 있습니다.
'myVariable = "{0}";' -f $variableToPassToJMP | Out-File "./paths.jsl"
Start-Process -FilePath $JMP_path -ArgumentList ("`""+$JMPScriptPath+"`"") -Wait
Remove-Item -Path "./paths.jsl" -Force -Confirm:$false별로 우아하지는 않지만 작동합니다.
Re : 명령 줄에서 스크립트를 실행할 때 인수 전달같은 아이디어, 다소간 :
Jmp.exe 인수
Re : 명령 줄에서 스크립트를 실행할 때 인수 전달그래, 그 게시물을 봤어. 내가 말했듯이 JMP는 어떤 이유로 powershell 스크립트에서 시작될 때 환경 변수를 읽을 수 없습니다.Re : 명령 줄에서 스크립트를 실행할 때 인수 전달뿡뿡
Re : 명령 줄에서 스크립트를 실행할 때 인수 전달환경 변수를 설정하는 방법을 보여줄 수 있습니까?
이것은 나를 위해 일하고 있습니다.
startjmp.ps1 :
$JMP_Path = "C:\Program Files\SAS\JMPPRO\15\jmp.exe"
$JMPScriptPath = "C:\util\test.jsl";
$Env:ScriptArg = "Hello from PowerShell";
Start-Process -FilePath $JMP_Path -ArgumentList ("`""+$JMPScriptPath+"`"") -Wait
test.jsl :
Open Log();
myvar = Get Environment Variable("ScriptArg");
print(myvar);
PS에서 startjmp 시작
JMP의 로그 출력 :
Open Log();
myvar = Get Environment Variable("ScriptArg");
print(myvar);
/*:
"Hello from PowerShell"
핑 감사합니다 안녕하세요.