用一个.bat文件批处理压缩文件,将文件夹下的压缩文件遍历,解压缩到当前文件夹,如何写?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用一个.bat文件批处理压缩文件,将文件夹下的压缩文件遍历,解压缩到当前文件夹,如何写?相关的知识,希望对你有一定的参考价值。

参考技术A
我用过7zip 实现过lz说的功能,具体命令行如下:
====================代码开始==================
@echo off
::进入7zip安装目录
cd "c:\program Files\7-zip"
:: 获取当天日期
set fname=%date:~0,4%%date:~5,2%%date:~8,2%
::压缩 E:\123目录,存放于F:\456 下,并以当天日期命名
7z.exe a -t7z F:\456\%fname%.7z E:\123\* -r
echo.
echo 压缩完成,请查看。。。。
pause
====================代码结束==================
说明:
1、需要安装7zip,并将cd "c:\program Files\7-zip"改为7zip的安装路径
2、%fname%.7z为压缩后的文件名,也可以压缩为.zip格式,相应参数改为-tzip %fname%.zip即可。
参考技术B @echo off
for /f skip^=2^ delims^=^"^ tokens^=2 %%i in ('reg query "HKEY_CLASSES_ROOT\WinRAR\shell\open\command"') do "%%~dpirar.exe" e -r -y *.rar
rem 通过注册表获取rar.exe的完全路径。
rem rar.exe只能处理rar文件,zip和7z都不行。

pause>nul本回答被提问者采纳
参考技术C @echo off
"C:\Program Files\WinRAR\rar.exe" e -r -y *.rar

BAT批处理如何对大量文件夹进行批量RAR分卷压缩

使用BAT批处理对大量文件夹进行批量RAR分卷压缩;例如A目录有文件夹1 556Mb、 文件夹2 448Mb 、文件夹3 988Mb 、文件夹4 698Mb 、文件夹5 369Mb,我要将它们分别分卷压缩为两个文件其中一个固定为1Mb;因此上面的5个文件夹分别分卷压缩后得到:文件夹1=文件1.part1.rar(大小555Mb)文件2.part1.rar(大小1Mb)...后面的依次类推

参考技术A 我没有测试,你可以测试下,如果不能用请追问。
@echo off
if not exist rar.exe echo 请将批处理与Rar.exe放在同一个目录中。&pause&goto :eof
pushd D:\A\
for /d %%i in (*) do rar a -v1m -v -r "%%i" "%%i"
popd
pause追问

能不能帮我看下 下面的这个怎么实现
BAT批处理对A目录下的所有(进入)文件夹分别进行RAR分卷压缩,并将分卷压缩文件保存到D盘;
其中的一个分卷压缩(*)part1.rar固定大小为1MB;
需要注意的是(进入)文件夹分别进行RAR分卷压缩,而不是对文件夹进行RAR分卷压缩

追答

@echo off
if not exist rar.exe echo 请将批处理与Rar.exe放在同一个目录中。&pause&goto :eof
pushd D:\A\
for /d %%i in (*) do rar a -v1m -v -r -ep1 "%%i" "%%i"
popd
pause

以上是关于用一个.bat文件批处理压缩文件,将文件夹下的压缩文件遍历,解压缩到当前文件夹,如何写?的主要内容,如果未能解决你的问题,请参考以下文章

BAT批处理如何对大量文件夹进行批量RAR分卷压缩

批处理bat文件dos命令实现文件的解压缩

如何使用BAT批处理对大量文件夹进行批量RAR分卷压缩

bat中rar压缩命令

bat自动打包压缩实现

linux下的打包和压缩