1. ホーム
  2. ウィンドウズ

[解決済み】最初のエラーでPowerShellスクリプトを停止する方法は?

2022-04-15 23:59:07

質問

PowerShellスクリプトは、実行したコマンドのいずれかが失敗したときに停止するようにしたい(たとえば set -e をbashで実行)。Powershellのコマンドを両方使っています( New-Object System.Net.WebClient ) とプログラム ( .\setup.exe ).

解決するには?

$ErrorActionPreference = "Stop" を使えば、ある程度は解決します(つまり、これはコマンドレットに最適なのです)。

しかし、EXE の場合は、以下のようにチェックする必要があります。 $LastExitCode を実行するたびに、それが失敗したかどうかを判断しています。Windowsでは、EXEが何をもってquot;success"やquot;failure"と判断するかは、あまり統一されていないため、残念ながらPowerShellでは対応できないようです。 ほとんどの場合、UNIX 標準の 0 が成功を表しますが、すべてがそうではありません。以下のコードをチェックしてみてください。 CheckLastExitCode関数は、このブログの記事にあります。 . 役に立つかもしれません。