我希望我的 PowerShell 脚本在我运行的任何命令失败时停止(比如set -e在 bash 中)。我正在使用 Powershell 命令 ( New-Object System.Net.WebClient) 和程序 ( .\setup.exe)。
set -e
New-Object System.Net.WebClient
.\setup.exe
$ErrorActionPreference = "Stop"将使您成为其中的一部分(即,这对 cmdlet 非常有用)。
$ErrorActionPreference = "Stop"
但是对于 EXE,您需要$LastExitCode在每次 exe 调用后检查自己并确定是否失败。不幸的是,我不认为 PowerShell 在这里可以提供帮助,因为在 Windows 上,EXE 在“成功”或“失败”退出代码的构成方面并不是非常一致。大多数遵循 0 表示成功的 UNIX 标准,但并非所有人都这样做。查看此博客文章中的 CheckLastExitCode 函数。你可能会发现它很有用。
$LastExitCode