我想从命令行获得一个值,并将其插入到下面(本例运行Perl pp命令,但这应该是无关的):
$AppVersion = $args[0]
Write-Output "AppVersion = $AppVersion"
Write-Output "Creating executable"
pp --% -x -g -o C:AppCreatorWin$AppVersionapp.exe "C:appapp.pl"
虽然AppVersion在终端上正确打印,但在下面的命令中没有插入。
在Powershell中,如果您有这样的可执行文件的参数,那么使用Start-Process(带或不带-Wait开关)是最简单的:
Start-Process -FilePath "C:AppCreatorWin$AppVersionapp.exe" -ArgumentList "C:appapp.pl" -Wait
省略-Wait
将在后台运行该进程。详见Get-Help Start-Process
如果它只是一个没有参数的命令,那么在命令字符串前加上&符号&
就可以了:
& "regedit.exe"
对于作为命令(行)处理的插入字符串,请确保防止代码注入。