0
對不起,我是PowerShell的新手。我正在運行一個腳本,它執行一些命令來複制系統中的文件。有沒有辦法在移動到下一個命令之前捕獲命令的狀態是否成功完成?檢查命令執行成功的狀態
例如:
$scp_cmd = "scp.exe -a [email protected]:/files/repo1 /repo1"
$rsync_cmd = "rsync.exe -tvP [email protected]:/files/repo2 /repo2"
Invoke-Expression $scp_cmd
# How do we check whether the command completed successfully?
Invoke-Expression $rsync_cmd
# How do we check whether the command completed successfully?
你應該使用try {調用,表達$ scp_cmd},例子是:嘗試{事} 趕上{ 「發生錯誤」} 如果($錯誤){ 「沒有錯誤發生」 } –
感謝Niklas。我正在通過退出代碼,這是可能的使用PowerShell退出代碼?例如,當命令執行時,PowerShell會知道該命令是否返回了特定的代碼? – user3331975
不確定你是否確切地想要你的意思,你可以在代碼中使用exit。(0)來結束0作爲退出代碼的腳本,但是我不知道它自己的命令是否可以用「errorcode」其他然後0或1,具體取決於錯誤或沒有,你可以嘗試一些我在另一個腳本中使用了一次: $安裝=開始處理-FilePath「CitrixReceiver.exe」 $結果= $ install.Exitcode 你可以嘗試在這個例子中用$ install調用invoke-expression。它可能只適用於啓動過程,我不確定 –