Powershell 自定义退出代码说明
Powershell Custom Exit Code Description
我可以通过退出代码退出 powershell 应用程序:
exit 59
如何使用自定义退出代码说明退出?
exit 59, "Somethings Wrong"
你不能。在 PowerShell 环境中,cmdlet 可以 return 任何 .Net 对象(字符串、异常等)彼此,但是当您 exit
时,PowerShell 进程退出,并且它可以 return to Windows /调用进程是一个整数。
https://en.wikipedia.org/wiki/Exit_status#Windows
没有地方可以放置自定义描述,其他任何东西也没有办法获得描述。那是多年的遗留计算和向后兼容性限制,回到处理器很小、内存昂贵且 return 值是(我推测)一个处理器寄存器值或类似值的时候。
当您在命令提示符下并且运行这些命令时:
c:\> powershell
Windows PowerShell
Copyright (C) 2014 Microsoft Corporation. All rights reserved.
PS C:\> exit 10
c:\> echo %ERRORLEVEL%
10
您看到 PowerShell 进程以 return 值为 10 退出。但是没有 %ERRORDESCRIPTION%
或类似的标准功能来放置其他任何东西。你想做的事情没有较低级别的机器。
您可以做的是使用 Write-Error 写入标准错误输出 (stderr),如果程序调用您的脚本并捕获 stderr 输出,它可以读取它。或者您可以将错误写入事件日志或日志文件。
但是任何这些写入都必须在您的进程处于 运行ning 时进行,因为在您的进程退出后您将无法执行任何操作。
我可以通过退出代码退出 powershell 应用程序:
exit 59
如何使用自定义退出代码说明退出?
exit 59, "Somethings Wrong"
你不能。在 PowerShell 环境中,cmdlet 可以 return 任何 .Net 对象(字符串、异常等)彼此,但是当您 exit
时,PowerShell 进程退出,并且它可以 return to Windows /调用进程是一个整数。
https://en.wikipedia.org/wiki/Exit_status#Windows
没有地方可以放置自定义描述,其他任何东西也没有办法获得描述。那是多年的遗留计算和向后兼容性限制,回到处理器很小、内存昂贵且 return 值是(我推测)一个处理器寄存器值或类似值的时候。
当您在命令提示符下并且运行这些命令时:
c:\> powershell
Windows PowerShell
Copyright (C) 2014 Microsoft Corporation. All rights reserved.
PS C:\> exit 10
c:\> echo %ERRORLEVEL%
10
您看到 PowerShell 进程以 return 值为 10 退出。但是没有 %ERRORDESCRIPTION%
或类似的标准功能来放置其他任何东西。你想做的事情没有较低级别的机器。
您可以做的是使用 Write-Error 写入标准错误输出 (stderr),如果程序调用您的脚本并捕获 stderr 输出,它可以读取它。或者您可以将错误写入事件日志或日志文件。
但是任何这些写入都必须在您的进程处于 运行ning 时进行,因为在您的进程退出后您将无法执行任何操作。