我有很多个文件夹需要进行压缩:
例如:文件夹1
文件夹2
。。。
文件夹99
所以,我需要一个批处理程序压缩一个文件夹后再压缩下一个,直到全部压缩完成后,再退出。请问各位高手应该如何编这个程序?
我写的代码如下:
@echo off
set "sdok_data=e:\2009"
echo "Start backup" >> e:\backup\Archiv.log
date /t >> e:\backup\Archiv.log
time /t >> e:\backup\Archiv.log
for /f "tokens=*" %%i in ('dir /b %sdok_data%') do (
"C:\Program Files\WinRAR\WinRAR.exe" a "e:\backup\%%i" -ag_YYYY_MM_DD -k -r -s "%sdok_data%\%%i"
)
echo "End backup" >> e:\backup\Archiv.log
date /t >> e:\backup\Archiv.log
time /t >> e:\backup\Archiv.log
这只是针对一个文件夹做的压缩,我现在就是不知道压完这个包后,如何压下一个包。。。
利用批处理压缩文件夹
答案:4 悬赏:50 手机版
解决时间 2021-03-02 12:45
- 提问者网友:爱了却不能说
- 2021-03-01 22:17
最佳答案
- 五星知识达人网友:风格不统一
- 2021-03-01 23:32
我需要一个批处理程序压缩一个文件夹后再压缩下一个,直到全部压缩完成后,再退出。
难道我给的实现不了?
for /f "delims=" %%a in ('dir /a:d /b') do (
"C:\Program Files\WinRAR\WinRAR" a -r "%%~nxa.rar" "%%a"
)
难道我给的实现不了?
for /f "delims=" %%a in ('dir /a:d /b') do (
"C:\Program Files\WinRAR\WinRAR" a -r "%%~nxa.rar" "%%a"
)
全部回答
- 1楼网友:街头电车
- 2021-03-02 02:28
假设RAR在默认目录
@echo off
set path=%path%;C:\Program Files\WinRAR
for /f "tokens=* delims=" %%i in ('dir /a:d /b') do (
rar a "%%~ni.rar" "%%~ni"
)
放到包含你要压缩文件夹的目录中运行就可以了
- 2楼网友:雾月
- 2021-03-02 01:52
这也太麻烦了吧……看的头都痛
建议你装一个好压
我可以告诉你批处理
用D:\Program Files\HaoZip做默认
@echo off
set /a num=0
:Cir
set /a num=%num%+1
cd D:\Progra~1\haozip
haozipc a -t7z D\:文件夹%num% D:\文件夹名%num% -mx9 -ssw
rem haozipc a 文件夹%num%(这个是压缩包名。)
if not %num%==100 echo %num% & goto Cir
rem 判断文件夹的数字文件夹100就不压了
echo
pause
- 3楼网友:酒安江南
- 2021-03-02 00:15
我查看了些资料,看了winrar的帮助文档。
其内部只是如何利用命令来压缩一个文件,并且是指定了文件名。
而你的意思是批量自动将某目录下的各个文件夹一一压缩为独立的rar格式。
这个我想我能实现。
您稍等。
待我整理一个说明文档出来……
搞定后,我就写到这里:
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯