永发信息网

利用批处理压缩文件夹

答案:4  悬赏:50  手机版
解决时间 2021-03-02 12:45
  • 提问者网友:爱了却不能说
  • 2021-03-01 22:17
我有很多个文件夹需要进行压缩:
例如:文件夹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

这只是针对一个文件夹做的压缩,我现在就是不知道压完这个包后,如何压下一个包。。。
最佳答案
  • 五星知识达人网友:风格不统一
  • 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"
)
全部回答
  • 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格式。 这个我想我能实现。 您稍等。 待我整理一个说明文档出来…… 搞定后,我就写到这里:
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯