【问题标题】:unrar a password protected archive in batch批量解压缩受密码保护的存档
【发布时间】:2017-09-08 21:35:44
【问题描述】:

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

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

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

【问题讨论】:

  • 尝试为其提供 UNRAR.exe 所在位置的完整路径。
  • 你安装了 Winrar 吗?
  • 完整路径以外的另一件事;密码应该是这样的-pne2020 没有空格
  • @Squashman 是的,它已安装

标签: batch-file


【解决方案1】:

你可以试试这个批处理文件:

@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

【讨论】:

  • @man_s_our 你在这段代码中究竟修改了什么?你检查你的密码是正确的吗?还有要解压的文件?
  • 我没有修改任何东西
  • 密码和rar路径正确。但我需要将 unrar.exe 放在同一个目录中或使用 cd 命令
【解决方案2】:

在我检查了 cmets 后,我找到了答案。 有两种方法。 第一个:

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

第二: 添加这一行:

cd C:\Program Files\WinRAR\

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

【讨论】:

    猜你喜欢
    • 2018-07-26
    • 1970-01-01
    • 2012-06-23
    • 2014-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-09
    • 2023-01-30
    相关资源
    最近更新 更多