本文目录导读:

使用 WinRAR 创建批处理(.bat)压缩脚本,主要是利用其命令行模式下的 Rar.exe 或 UnRAR.exe(通常位于 WinRAR 安装目录下),你可以创建一个 .bat 文件,在其中写入调用 WinRAR 的命令。
以下是几种常见场景的脚本示例和步骤:
第一步:找到 WinRAR 命令行工具路径
确保 Rar.exe 在你的系统路径中,或者在你的 .bat 脚本里使用完整路径,通常路径是:
C:\Program Files\WinRAR\Rar.exe
示例脚本及用法
场景 1:将当前文件夹内的所有文件压缩到桌面
@echo off REM 压缩当前目录下所有文件到桌面,命名 MyBackup.rar "C:\Program Files\WinRAR\Rar.exe" a -r -ep1 "%USERPROFILE%\Desktop\MyBackup.rar" *.* echo 压缩完成! pause
场景 2:将指定文件夹(含子目录)压缩为固定密码的 RAR
@echo off REM 参数说明:a=添加, -r=递归子目录, -p123456=设置密码为123456 set SOURCE_FOLDER="D:\MyDocuments" set DEST_FILE="C:\Backups\DocBackup.rar" "C:\Program Files\WinRAR\Rar.exe" a -r -pMySecretPwd %DEST_FILE% %SOURCE_FOLDER% echo 已用密码 "MySecretPwd" 压缩完成! pause
场景 3:将多个特定文件(如 .txt 和 .docx)压缩
@echo off "C:\Program Files\WinRAR\Rar.exe" a -r "C:\Archive\TextFiles.rar" *.txt *.docx echo 已压缩所有文本和文档文件。 pause
场景 4:分段压缩(分卷)并设置压缩率
@echo off REM -v50M 表示每卷 50MB,-m5 表示最大压缩率(0-5) "C:\Program Files\WinRAR\Rar.exe" a -r -v50M -m5 "D:\BigFolder\Backup.part01.rar" "D:\BigFolder\" echo 大文件夹已分卷压缩为 50MB 每份。 pause
常用 WinRAR 命令行参数说明
| 参数 | 作用 |
|---|---|
a |
添加文件到压缩包 |
-r |
递归处理子目录 |
-ep1 |
从文件名中排除路径信息(不保留目录结构) |
-ep |
排除完整路径(仅文件名) |
-p[密码] |
设置压缩包密码(如 -p123),不加密码则为询问 |
-m0 到 -m5 |
设置压缩率,0=不压缩(存储),5=最大压缩(最慢) |
-v[大小] |
分卷压缩,如 -v100M、-v1G |
-df |
压缩后删除源文件 |
-s |
创建固实压缩包(提高压缩率但更新慢) |
-rr[%] |
添加恢复记录(如 -rr10 添加10%恢复记录) |
将脚本保存为 .bat 文件
- 新建一个文本文件,
compress.bat。 - 将上面的代码粘贴进去(根据需求修改路径和文件名)。
- 注意路径中的空格:如果路径包含空格(如
Program Files),请用双引号包裹整个路径。 - 保存后,双击运行即可。
更进一步的自动化:拖放式脚本
如果你希望将文件或文件夹拖到 .bat 图标上自动压缩:
@echo off
if "%1"=="" (
echo 请将要压缩的文件或文件夹拖放到此批处理文件上。
pause
exit /b
)
REM 将拖入的对象压缩到同目录下的同名 .rar 文件
set SOURCE=%1
set DEST=%~dpn1.rar
"C:\Program Files\WinRAR\Rar.exe" a -r "%DEST%" "%SOURCE%"
echo 压缩完成:%DEST%
pause
注意事项
- 静默模式:如果不想看到 WinRAR 的窗口,可以加
-ibck参数(后台运行),或者-id[c,d,p,q]控制输出信息。 - 错误处理:可以在命令后加
|| echo 压缩失败来获取错误提示。 - 权限:如果目标路径受保护(如系统盘),需要用管理员权限运行
.bat。
可以根据你的具体需求调整参数,如果需要更复杂的逻辑(如日期命名、判断文件是否存在等),可以在批处理中加入 if、for 等命令。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。