[英]interpolate variable in PowerShell ps1
我想從命令行獲取一個值並將其插入到以下內容中(此示例正在運行 Perl pp 命令,但這應該是無關緊要的):
$AppVersion = $args[0]
Write-Output "AppVersion = $AppVersion"
Write-Output "Creating executable"
pp --% -x -g -o C:\AppCreatorWin\$AppVersion\app.exe "C:\app\app.pl"
雖然在終端上正確打印了 AppVersion,但它沒有插入到以下命令中。
在 Powershell 中,如果你有 arguments 這樣的可執行文件,最簡單的方法是使用帶有或不帶 -Wait 開關的 Start-Process:
Start-Process -FilePath "C:\AppCreatorWin\$AppVersion\app.exe" -ArgumentList "C:\app\app.pl" -Wait
省略-Wait
將在后台運行該進程。 有關詳細信息,請參閱Get-Help Start-Process
。
如果它只是一個沒有 arguments 的命令,那么在命令字符串前加上一個&
符號就可以了:
& "regedit.exe"
對於您視為命令(行)的內插字符串,一定要防止代碼注入。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.