2013-05-08 95 views
0

如何獲取7zip操作的退出代碼?PowerShell或批處理EXITCODE 7zip

例如:

7z x filename.zip -y 

我怎樣才能得到它呢?

現在,我在蝙蝠做一些操作,但是我可以改變語言。

我發現AHK的東西,但我不能使用該語言。

PS:我奪冠服務器2008 R2

+0

谷歌的「7zip的errorlevels」 – foxidrive 2013-05-08 12:39:54

+0

如何填充errorlevels併發可變我的意思,我怎麼能肯定,如果我做的回聲%ERRORLEVEL%我看出口7z的操作代碼而不是另一個程序? – rschirin 2013-05-08 12:59:26

+0

@rschirin'ErrorLevel'將會填入上一個執行命令的錯誤代碼。如果您要在7zip命令之後檢查ErrorLevel,ErrorLevel將填充7zip的退出代碼。 – 2013-05-08 13:56:42

回答

2

ErrorLevel將與從最後執行的命令的錯誤代碼來填充。如果要在7zip命令後面檢查ErrorLevelErrorLevel將填充7zip的退出代碼。

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

這上面會呼應7zip的的退出代碼


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

這上面會回聲設置的退出代碼


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

這上面會呼應7zip的的退出代碼

1

你可以嘗試使用$LastExitCode變量在PowerShell中找出你的命令的退出代碼。它返回運行的最後一個基於Windows的程序的退出代碼。

例如

cmd /C exit 1

Write-Host $LastExitCode # 1

+0

當你說「最後一個基於windows的程序運行」時,你的具體含義是什麼?如果7zip完成其操作並立即結束另一個程序(在我檢查$ LastExitCode之前),在$ LastExitCode中我會發現什麼? – rschirin 2013-05-08 13:03:00

+0

@rschirin,在這種情況下,你會發現在7zip(運行7zip和編寫LastExitCode之間的那個)之後結束的程序退出代碼。 – 2013-05-08 14:49:11

1

例(批次):

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