8

コマンドプロンプトで、これを試してください。

PowerShell aaa

エコーErrorLevelは%errorlevel%です

Powershellは失敗します(エラーが発生します)。「 ErrorLevelis1」も表示されます。これは、aaaをスクリプトとして実行し、未処理のエラーを発生させてエラーレベルを設定するためです。

ただし、これを試してください。

パワーシェル '

エコーErrorLevelは%errorlevel%です

Powershellは失敗します(エラーが発生します)。今回は、ErrorLevelis0も表示されます。

それは別の問題だと思います。PowershellはそれがParserErrorだとさえ言うでしょう、そしてそれは私がコマンドライン引数を台無しにしたからです。それでも、それはクールではありません

なぜこのように動作するのかわかりません。これは見落としだったと思います。他のプログラムは、失敗時にエラーレベルを設定することを怠っていますが、この場合は、途中まで進んだかのようです。ここでは、まったく設定しないのではなく、0に設定することもできます。

4

1 に答える 1

1

うーん、解析エラーによってリターンコードがゼロ以外に設定されることに同意すると思います。Powershell接続サイトでこれを提出することをお勧めします。http://connect.microsoft.com/PowerShell

于 2011-12-16T10:21:22.590 に答える