2013-11-21 67 views
0

我正在運行此代碼。它工作正常,只有在問題中,如果實際密碼不在第一行(ex-www.top2download.com),winRAR會提示錯誤 - 「密碼不正確或文件已損壞」。我必須關閉「錯誤對話框」以保持代碼運行。如何一旦達到實際的密碼,它會立即提取並退出:)。我想要的是阻止出現「錯誤對話框」。或者,不要在任何行中嘗試提取錯誤代碼是否大於1。嘗試在(.zip/.rar)上使用.bat解壓文件的一組密碼

附加信息:%result%是「BrowseFiles」的輸出,即我要提取的文件。我想通過「WinRAR.exe」(而不是「unRAR.exe」)完成這項工作。

@echo off 
echo.------------------------------------------------ 
echo Choose the file, you want to extract: 
echo.------------------------------------------------ 
rem BrowseFiles 
@echo off 
"C:\Program Files\WinRAR\WinRAR.exe" x -pfile.ge %result% 
if %ERRORLEVEL% GEQ 1 GOTO continue1 
if %ERRORLEVEL% GEQ 0 GOTO exit 
:continue1 
"C:\Program Files\WinRAR\WinRAR.exe" x -pwww.top2download.com %result% 
if %ERRORLEVEL% GEQ 1 GOTO continue2 
if %ERRORLEVEL% == 0 GOTO exit 
:continue2 
"C:\Program Files\WinRAR\WinRAR.exe" x -pworldfree4u.com %result% 
GOTO exit 
:exit 
exit 

回答

0

這解決您添加了答案 - &&將執行goto :EOF時,錯誤級別是0,否則它將繼續下一行。

@echo off 
echo.------------------------------------------------ 
echo Choose the file, you want to extract: 
echo.------------------------------------------------ 
rem BrowseFiles 
@echo off 
"C:\Program Files\WinRAR\WinRAR.exe" x -inul -pfile.ge %result% && goto :EOF 
"C:\Program Files\WinRAR\WinRAR.exe" x -inul -pwww.top2download.com %result% && goto :EOF 
"C:\Program Files\WinRAR\WinRAR.exe" x -inul -pworldfree4u.com %result% && goto :EOF 
+0

Yah!但它只會使我的計劃縮短。 WinRar仍會嘗試使用錯誤的密碼提取文件。有沒有什麼辦法可以讓winrar跳過密碼錯誤的行,並且只用正確的密碼執行該行? – Deb

+0

如果您知道正確的密碼,那麼您可以應用該密碼 - 否則,代碼無法在沒有嘗試的情況下分辨哪個密碼是正確的。根據錯誤級別,上面的代碼將嘗試每個密碼並在找到正確密碼後退出。 – foxidrive

+0

那也是真的..不管怎樣,謝謝.. – Deb

0

我已經找到了解決辦法.. 「C:\ Program Files文件\ WinRAR的 \的WinRAR.exe」 X -inul - pwww.file.ge%的結果%。 不顯示任何錯誤框。as -inul禁用winRAR的診斷消息。但是,我可以做的伎倆,這樣如果錯誤代碼即 %ERRORLEVEL% 大於1個也不會執行相應的命令..

相關問題