WinRAR批处理解压支持单文件、相对路径、批量.rar、带密码7z及多格式解压五种方法,需调用WinRAR.exe并配合x命令与-y等参数实现自动化静默解压。

如果您希望在Windows系统中通过批处理(.bat)文件调用WinRAR自动解压一个或多个压缩包,则需确保WinRAR命令行工具可被正确调用,并使用标准参数执行解压操作。以下是多种可行的bat解压方法:
一、基础单文件解压(绝对路径调用)
该方法适用于已知WinRAR安装路径且仅需解压单个压缩包的场景,直接指定WinRAR.exe完整路径可避免环境变量配置问题。
1、新建记事本文件,输入以下内容:
@echo off
"C:\Program Files\WinRAR\WinRAR.exe" x "C:\test.rar" "C:\output\"
pause
2、将该文件另存为“解压.bat”,确保与test.rar位于同一目录或修改路径为实际位置。
3、双击运行该.bat文件,WinRAR将解压test.rar到C:\output\目录下。
二、相对路径解压(推荐用于便携部署)
该方法将WinRAR.exe与.bat文件置于同一文件夹,规避系统安装路径差异,提升脚本跨机可用性。
1、将WinRAR.exe从安装目录(如C:\Program Files\WinRAR\)复制到您计划运行bat的文件夹中。
2、新建文本文件,输入以下内容:
@echo off
winrar x -y "archive.zip" ".\\"
pause
3、保存为“解压.bat”,并将archive.zip和winrar.exe一同放入该文件夹。
4、运行后,archive.zip将被静默解压至当前目录(-y参数跳过覆盖确认)。
三、批量解压当前目录及子目录下的所有.rar文件
该方法利用for /r循环遍历目录树,对匹配的压缩包逐个执行解压,适用于大量分散压缩包的自动化处理。
1、新建文本文件,输入以下内容:
@echo off
setlocal enabledelayedexpansion
for /r %%i in (*.rar) do (
echo 正在解压: %%i
"C:\Program Files\WinRAR\WinRAR.exe" x -y "%%i" "%%~dpi"
)
pause
2、保存为“批量解压.bat”,放置于目标根目录(如D:\data)。
3、运行后,所有子文件夹中的.rar文件均被解压至其各自所在目录。
四、带密码解压批量7z文件
当压缩包设有密码时,必须在命令中显式传入-p参数及密码字符串;此方法支持对指定类型加密压缩包进行静默解压。
1、新建文本文件,输入以下内容(将8888替换为实际密码):
@echo off
set password=8888
for %%i in (*.7z) do (
echo 正在解压: %%i
"C:\Program Files\WinRAR\WinRAR.exe" x -p!password! "%%i" ".\\"
)
pause
2、确保所有7z文件、该.bat文件及WinRAR.exe位于同一目录。
3、运行后,每个7z文件将在当前目录下解压,密码由脚本自动注入。
五、自动识别并解压多种格式(.zip/.rar/.7z/.gz)
该方法通过嵌套for循环分别匹配不同后缀名,统一调用WinRAR解压命令,扩展性强,适配常见归档格式。
1、新建文本文件,输入以下内容:
@echo off
set rarpath="C:\Program Files\WinRAR\WinRAR.exe"
for %%i in (*.zip *.rar *.7z) do %rarpath% x -y "%%i" "%%~ni\\"
for /r %%i in (*.gz) do %rarpath% x -y "%%i" "%%~dpi"
pause
2、保存为“多格式解压.bat”,置于含压缩包的目录中。
3、运行后,.zip/.rar/.7z文件将按原文件名创建独立子文件夹解压;.gz文件则解压至其所在目录。











