如何使用bat批处理通过rar命令压缩/解压缩目录?

比如目录test里面有名为1、2、3、4...的子目录,我想用bat实现带密码的自动化压缩解压缩。
压缩后分为test1.rar test2.rar ,test1.rar包含名称为奇数的子目录,test2.rar包含名称为偶数的子目录。

单个文件的压缩命令为rar a -hp[pwd] update update.txt,此命令实现update.txt带密码压缩成update.rar.
解压命令为rar e -o+ -hp[pwd] update [target-dir]
希望解压后的目录保留原结构,不要test里面又嵌套了一层test名。

1、首先,右键单击压缩器图标并选择“打开属性”。

2、然后单击打开弹出窗口中的“打开文件位置”。

3、然后在弹出窗口中,找到winrar.exe并将其放入文件夹中。

4、然后打开文本文档并输入代码:对于在(a.rar,b.rar,C.rar)do“C:\ program files\WinRAR\rar.exe”(WinRAR.exe所在的目录)中的%I

5、然后点击文件中的另存为。

6、然后选择winrar.exe所在的文件夹,输入后缀名“.bat”,回车确定。

7、最后转到保存的目录并双击bat程序。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-11-21

1、首先鼠标右键单击压缩程序图标,选择打开“属性”。

2、然后在弹出来的窗口中点击打开“打开文件位置”。

3、然后在弹出来的窗口中,找到winrar.exe,将它放到一个文件夹中。

4、然后打开文本文档,输入代码:for %%i in (a.rar,b.rar,c.rar) do "C:\Program Files\WinRAR\rar.exe" (winrar.exe所在的目录)

5、点击文件中的另存为。

6、选择winrar.exe所在的文件夹,输入后缀名“.bat”,回车确定。

7、然后去到保存的目录中,双击bat程序就完成了。

本回答被网友采纳
第2个回答  推荐于2017-11-26

压缩代码:

@echo off
set rar="C:\Program Files\WinRAR\rar.exe"
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /ad/b') do (
set /a n=%%~a%%2
if !n! equ 0 (
%rar% a -hp12345678 test2 "%%~a"
) else (
%rar% a -hp12345678 test1 "%%~a"
)
)
pause

 

 

 

解压代码:

@echo off
set rar="C:\Program Files\WinRAR\rar.exe"
for /f "delims=" %%a in ('dir /a-d/b test*.rar') do %rar% x -o+ -p12345678 %%a
pause

 

 

 

以上解压缩密码为12345678

WinRar程序使用C:\Program Files\WinRAR\rar.exe,路径请自行修改。

本回答被提问者采纳
第3个回答  2014-09-13
保证能用,建一个bat文件,把下面的拷贝进去,然后和你那些rar放到一个目录里面
for %%i in (a.rar,b.rar,c.rar) do "C:\Program Files\WinRAR\rar.exe" x %%i .\%%~ni\
满意请采纳。追问

谢谢 不过这也太简单了 奇偶自动分类打包也没有 这个实现什么功能?.\%%~ni\这个地方看不懂。我的意思的test里面有1 2 3 4等目录,打包后变成两个test1 test2目录的压缩包,各包含奇偶数的目录 半对半。里面的1 2 3 4就没必要单独压缩了。