【问题标题】:Powershell or Batch EXITCODE 7zipPowershell 或批处理 EXITCODE 7zip
【发布时间】:2013-05-08 22:00:50
【问题描述】:

如何获取 7zip 操作的退出码?

例如:

7z x filename.zip -y

我怎样才能得到它?

目前,我在bat中做了一些操作,但是我可以改变语言。

我在 AHK 中找到了一些东西,但我无法使用那种语言。

ps:我在win server 2008 r2

【问题讨论】:

  • Google 关于“7zip 错误级别”
  • 如何在并发中填充 errorlevels 变量?我的意思是,我如何确定如果我执行 echo %errorlevel% 我看到的是 7z 操作的退出代码,而不是另一个程序的退出代码?
  • @rschirin ErrorLevel 将填充最后执行命令的错误代码。如果您要在 7zip 命令之后的行中检查 ErrorLevel,ErrorLevel 将填充 7zip 的退出代码。

标签: powershell batch-file 7zip


【解决方案1】:

ErrorLevel 将填充最后执行命令的错误代码。如果您要检查 7zip 命令后的ErrorLevel 行,ErrorLevel 将填充 7zip 的退出代码。

7z x filename.zip -y
echo %ErrorLevel%

上面会回显 7zip 的退出代码


7z x filename.zip -y
set "ExitCode=%ErrorLevel%"
echo %ErrorLevel%

上面会回显 set 的退出代码


7z x filename.zip -y
set "ExitCode=%ErrorLevel%"
echo %ExitCode%

上面会回显 7zip 的退出代码

【讨论】:

    【解决方案2】:

    您可以尝试在 PowerShell 中使用 $LastExitCode 变量来找出您的命令的退出代码。它返回最后运行的基于 Windows 的程序的退出代码。

    例如

    cmd /C exit 1

    Write-Host $LastExitCode # 1

    【讨论】:

    • 当您说“最后一个基于 Windows 的程序运行”时,您的具体意思是什么?如果 7zip 完成其操作并立即另一个程序结束(在我检查 $LastExitCode 之前),在 $LastExitCode 中我会找到什么?
    • @rschirin,在这种情况下,您将找到在 7zip 之后立即结束的程序的退出代码(运行 7zip 和编写 LastExitCode 之间的那个)。
    【解决方案3】:

    示例(批次):

    7z x filename.zip -y
    echo(%errorlevel%
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-17
      • 1970-01-01
      • 1970-01-01
      • 2020-06-23
      • 1970-01-01
      • 1970-01-01
      • 2022-01-16
      相关资源
      最近更新 更多