我試圖用PowerShell
執行一個.exe
文件不執行這樣做:腳本塊在PowerShell中
$myExe = Join-Path $scriptDir "\bin\my\myProgram.exe"
$job = Start-Job -ScriptBlock{
& $myExe }
但不執行。當輸入$myExe
中的文件路徑時,該程序按預期工作,但是當我使用上述代碼時,什麼都不會發生。有人能解釋我做錯了什麼嗎?或者,爲什麼我沒有得到預期的結果?
要清楚,預期的結果(在這一點上)是獲得防火牆警告。同樣,當我直接鍵入PS控制檯的路徑時,防火牆警告出現,但使用上面的代碼,似乎沒有任何事情發生。我也嘗試使用Get-Process
檢查狀態,但結果是$job
變量,表示它是running
。
UPDATE:
運行:
$myExe = Join-Path $scriptDir "\bin\my\myProgram.exe"
& $prndExe
原因PowerShell來掛
更新2:
當我這樣做時,該程序的工作原理及過程開始:
Start-Job -ScriptBlock{ & "C:\path\Music\source\p\android\test\Automation\bin\mym\myProgram.exe"}
但是使用上面的代碼沒有。這讓我相信我在Start-Job
cmdlet上做錯了什麼?
你調試[$ myExe],以確保完整的路徑是正確的?另外,Start-Job是用於後臺進程的。這應該是一個後臺進程? – TheOptimusPrimus
因此&$ myExe在開始工作腳本塊之外工作? – Jimbo
$ myExe在Start-Job中的用途是什麼?這是一條有效的路徑嗎?你證實了嗎? – TheOptimusPrimus