我可以通过退出代码退出powershell应用程序:
exit 59
如何使用自定义退出代码说明退出?
exit 59, "Somethings Wrong"
答案 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输出,它可以读取它。或者您可以将错误写入事件日志或日志文件。
但是,当你的流程运行时,任何写作都必须发生,因为,在你的流程退出后你不能做任何事情。