我想使用批處理文件從密碼保護的rar檔案中自動提取文件。 我試過這段代碼:unrar批量密碼保護檔案
@echo off
UNRAR E -INUL -P ne2020 "%~dp0program.rar"
pause
但在CMD窗口展示給我告訴我的unrar是不是內部/外部命令的輸出。 如何解決這個問題?
我想使用批處理文件從密碼保護的rar檔案中自動提取文件。 我試過這段代碼:unrar批量密碼保護檔案
@echo off
UNRAR E -INUL -P ne2020 "%~dp0program.rar"
pause
但在CMD窗口展示給我告訴我的unrar是不是內部/外部命令的輸出。 如何解決這個問題?
你可以給這個批處理文件一試:
@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
後我檢查,我發現答案的評論。 有2種方法。 1:
把unrar.exe文件在同一目錄下的批處理文件
第二: 加入這一行:
cd C:\Program Files\WinRAR\
沒有忘記給不給-p和密碼之間分開。
嘗試爲其提供UNRAR.exe的完整路徑。 – Dijkgraaf
你有沒有安裝Winrar? – Squashman
另一件事情,然後全路徑;密碼應該是這樣的'-pne2020'沒有空間 – Hackoo