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

winrar怎么用bat解压文件_winrar批处理bat解压脚本  第1张

如果您希望在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需同步修改调用名)