Windows中可用批处理调用WinRAR.exe解压,支持绝对路径单文件解压、递归批量解压、密码解压、时间戳目录解压及免安装部署五种方法。

如果您希望在Windows系统中通过批处理(.bat)文件自动调用WinRAR解压压缩包,则需依赖WinRAR提供的命令行工具WinRAR.exe。以下是多种可行的解压方法,适用于不同路径配置、压缩格式及操作需求。
一、使用绝对路径调用WinRAR.exe解压单个文件
该方法直接指定WinRAR.exe的完整安装路径与目标压缩包路径,不依赖系统环境变量,兼容性高,适合一次性解压任务。
1、新建一个文本文件,将后缀名改为“.bat”。
2、右键编辑该.bat文件,在其中输入以下内容:
@echo off
"C:\Program Files\WinRAR\WinRAR.exe" x "D:\data\archive.rar" "D:\data\extracted\"
pause
3、保存文件,确保压缩包“archive.rar”位于D:\data\目录下。
4、双击运行该批处理文件,WinRAR将解压archive.rar到D:\data\extracted\目录中。
5、若压缩包为.zip、.7z等格式,可将命令中的x参数后接对应文件路径,WinRAR支持自动识别格式;注意:必须使用英文双引号包裹含空格的路径。
二、使用相对路径与当前目录批量解压所有.rar文件
该方法将批处理置于待解压文件所在目录,自动遍历当前目录及其子目录下的所有.rar文件并逐一解压,保持原始目录结构,解压后可选择删除原压缩包。
1、新建记事本文件,重命名为“batch_unrar.bat”。
2、粘贴以下代码:
@echo off
setlocal enabledelayedexpansion
set "rar=C:\Program Files\WinRAR\WinRAR.exe"
for /r %%i in (*.rar) do (
"%rar%" x -y "%%i" "%%~dpi" && del "%%i" >nul
)
pause
3、将该.bat文件复制到包含.rar文件的根目录(如E:\downloads)。
4、双击运行,脚本将递归查找所有.rar文件,逐个解压至其所在目录,并删除原.rar文件。
5、-y参数表示跳过覆盖确认,避免交互中断执行流程。
三、解压带密码的压缩包(如.7z或.rar)
当压缩包设置了密码时,需在WinRAR命令中显式添加-p参数指定密码,否则解压将失败或静默跳过。
1、准备一个已知密码的加密压缩包,例如“secret.7z”,密码为“123456”。
2、新建.bat文件,输入以下内容:
@echo off
chcp 65001 >nul
set password=123456
for %%i in (*.7z) do (
"C:\Program Files\WinRAR\WinRAR.exe" x -p!password! "%%i" ".\"
)
pause
3、将.bat文件与加密压缩包置于同一目录。
4、运行脚本,WinRAR将使用设定密码尝试解压每个.7z文件到当前目录。
5、密码区分大小写,且不可为空;若密码含特殊字符(如&、^),需用双引号包裹-p参数值。
四、解压到指定目录并自动创建时间戳子文件夹
该方法适用于需按批次隔离解压结果的场景,例如每日数据包处理,通过时间戳命名子目录避免文件冲突。
1、新建.bat文件,输入以下内容:
@echo off
setlocal enabledelayedexpansion
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%"
set "folder=extracted_%YY%%MM%%DD%_%HH%%Min%"
mkdir "%folder%" 2>nul
"C:\Program Files\WinRAR\WinRAR.exe" x -y "input.zip" "%folder%\"
pause
2、将待解压的input.zip与该.bat文件放在同一目录。
3、运行后,将在当前目录下生成形如“extracted_251223_1746”的新文件夹,并将zip内容解压其中。
4、wmic命令获取本地时间,确保系统区域设置为中文或兼容格式,否则可能截取异常。
五、免安装部署:将WinRAR.exe与.bat同目录打包调用
为避免因目标电脑未安装WinRAR导致脚本失效,可将WinRAR.exe(精简版命令行工具)与.bat文件一同分发,实现零依赖解压。
1、从合法渠道获取WinRAR命令行版winrar.exe(非GUI版),大小约300KB。
2、将其与.bat文件置于同一文件夹,例如:D:\deploy\winrar.exe 和 D:\deploy\unpack.bat。
3、在unpack.bat中使用相对路径调用:
@echo off
for %%i in (*.rar) do (
winrar.exe x -y "%%i" "%%~ni\\"
)
pause
4、此时无需注册表或系统路径配置,双击即可运行。
5、确保winrar.exe文件名无空格、无版本后缀(如winrar64.exe需同步修改调用名)。











