unrar一个密码保护的归档文件

时间:2017-09-08 21:35:44

标签: batch-file

我想使用批处理文件从受密码保护的rar存档中自动提取文件。 我试过这段代码:

@echo off
UNRAR E -INUL -P ne2020 "%~dp0program.rar"
pause

但是向我显示的cmd窗口的输出告诉我unrar不是内部/外部命令。 如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

您可以尝试使用此批处理文件:

@echo off
Title Unzip Winrar Files in command line
color 0A
Mode con cols=75 lines=10
Set "file=%~dp0program.rar"
set "RAR_Password=ne2020"
Set Log=%~n0_UnzipLog.txt
for %%i in ("%file%") do ( set "DEST=%~dp0%%~ni" )
set strProgramFiles=%ProgramFiles%
if exist "%ProgramFiles(x86)%" set strProgramFiles=%ProgramFiles(x86)%
Set Unrar="%strProgramFiles%\WinRAR\UnRar.exe"
If not exist "%DEST%" MD "%DEST%"
If Exist %Unrar% ( Goto :Unrar ) else ( Goto :Fail )

:Unrar
%UNRAR% E -inul -y -p%RAR_Password% "%file%" "%DEST%">nul 2>&1
IF "%ERRORLEVEL%" EQU "0" ( GOTO Succes ) Else ( Goto Fail )

:Succes
Echo(
Echo All Files are unzipped succesfuly ! in "%DEST%" 
Echo All Files are unzipped succesfuly ! in "%DEST%"  > "%Log%"
Start "" /MAX "%Log%"
Timeout /T 3 /nobreak>nul
Exit /b

:Fail
Color 0C
Echo(
echo There was an error ! 
echo There was an error !  > "%Log%"
Start /MAX "" "%Log%
Timeout /T 3 /nobreak>nul

答案 1 :(得分:0)

在我查看评论后,我找到了答案。 有两种方式。 第一:

将unrar.exe文件与批处理文件放在同一目录中

第二: 添加这一行:

cd C:\Program Files\WinRAR\

不要忘记不分开-p和密码。