8

在命令提示符下,试试这个:

电源外壳aaa

echo ErrorLevel 是 %errorlevel%

Powershell 将失败(出现错误)。您还将看到“ ErrorLevel 为 1 ”。这是因为它将aaa作为脚本运行,这会产生未处理的错误,从而设置错误级别。

但是,现在试试这个:

电源外壳 '

echo ErrorLevel 是 %errorlevel%

Powershell 将失败(出现错误)。这一次,您还会看到ErrorLevel is 0

我意识到这是一个不同的问题。Powershell 甚至会说它是ParserError,这是因为我搞砸了命令行参数。不过,这并不酷

我不清楚它为什么会这样。我猜这是一个疏忽。那里的其他程序忽略了在失败时设置错误级别,但在这种情况下,就好像他们走了一半。它甚至在这里将其设置为 0,而不是根本不设置它。

4

1 回答 1

1

嗯,我想我同意解析错误应该将返回码设置为非零。我建议在 Powershell 连接站点上提交此文件。http://connect.microsoft.com/PowerShell

于 2011-12-16T10:21:22.590 回答