Powershell自定义退出代码说明

时间:2017-05-30 17:41:10

标签: powershell exit-code

我可以通过退出代码退出powershell应用程序:

exit 59

如何使用自定义退出代码说明退出?

exit 59, "Somethings Wrong"

1 个答案:

答案 0 :(得分:5)

你做不到。在PowerShell环境中,cmdlet可以相互返回任何.Net对象(字符串,异常等),但是当您exit时,PowerShell进程退出,并且所有它都可以返回到Windows /调用进程是一个整数。

https://en.wikipedia.org/wiki/Exit_status#Windows

没有地方可以自定义描述,也无法获得任何其他描述。多年的遗留计算和向后兼容性限制可以追溯到处理器体积小,内存昂贵,返回值(我推测)一个处理器寄存器值或类似值时。

当您处于命令提示符并运行以下命令时:

c:\> powershell
Windows PowerShell
Copyright (C) 2014 Microsoft Corporation. All rights reserved.

PS C:\> exit 10

c:\> echo %ERRORLEVEL%
10

您看到PowerShell进程退出时返回值为10.但是没有%ERRORDESCRIPTION%或类似的标准功能可以放置其他内容。对于你想要做的事情,没有更低级别的机器。

您可以使用Write-Error写入标准错误输出(stderr),如果程序调用您的脚本并捕获stderr输出,它可以读取它。或者您可以将错误写入事件日志或日志文件。

但是,当你的流程运行时,任何写作都必须发生,因为,在你的流程退出后你不能做任何事情。