programing

매개 변수를 사용하여 Powershell 스크립트에서 실행 파일 실행

abcjava 2023. 8. 14. 22:24
반응형

매개 변수를 사용하여 Powershell 스크립트에서 실행 파일 실행

그래서 저는 실행할 방법을 설정하기 위해 전달할 인수가 있는 실행 파일을 실행해야 하는 파워셸 스크립트를 가지고 있습니다. 그리고 저는 매개 변수, 즉 디렉토리를 구성 파일로 전달해야 합니다.그래서 이게 제가 가진 것입니다.

Start-Process -FilePath "C:\Program Files\MSBuild\test.exe" -ArgumentList /genmsi/f $MySourceDirectory\src\Deployment\Installations.xml

/f는 짧은 이름이고 file은 내 속성의 긴 이름입니다...powershell에서 /for /file에 대한 위치 매개 변수를 찾을 수 없다는 오류가 발생합니다.

무슨 생각 있어요?

인수 목록을 인용해 보십시오.

Start-Process -FilePath "C:\Program Files\MSBuild\test.exe" -ArgumentList "/genmsi/f $MySourceDirectory\src\Deployment\Installations.xml"

인수 목록을 배열(쉼표로 구분된 인수)로 제공할 수도 있지만 일반적으로 문자열을 사용하는 것이 더 쉽습니다.

저는 이것을 작동시킬 수 있었습니다.Invoke-Expressioncmdlet.

Invoke-Expression "& `"$scriptPath`" test -r $number -b $testNumber -f $FileVersion -a $ApplicationID"

여러 개의 인수를 수행할 수 있는 다른 방법이 있습니다.저는 한 라이너에 비해 논쟁이 너무 길 때 사용합니다.

$app = 'C:\Program Files\MSBuild\test.exe'
$arg1 = '/genmsi'
$arg2 = '/f'
$arg3 = '$MySourceDirectory\src\Deployment\Installations.xml'

& $app $arg1 $arg2 $arg3

저에게 잘 맞는 예를 하나 추가하면 됩니다.

$sqldb = [string]($sqldir) + '\bin\MySQLInstanceConfig.exe'
$myarg = '-i ConnectionUsage=DSS Port=3311 ServiceName=MySQL RootPassword= ' + $rootpw
Start-Process $sqldb -ArgumentList $myarg

언급URL : https://stackoverflow.com/questions/25187048/run-executable-from-powershell-script-with-parameters

반응형