[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 紧急!!请求大神帮忙制作一个批量压缩的批处理脚本,谢谢。

1.批处理调用Winrar软件执行,Winrar软件路径C:\Program Files\WinRAR\Rar.exe
2.利用软件的压缩功能结合以下代码显示出文件夹的总数和已解压后的进度条(只解压缩zip、rar、7z,其他不解压,解压缩完成后删除原文件进回收站(不彻底删除))
3.利用软件的压缩功能结合以下代码显示出文件夹的总数和已压缩后的进度条(只压缩文件夹格式,其他不压缩,压缩完成后删除原文件进回收站(不彻底删除)rar命令为-dr)
4.压缩和解压功能需要用Goto Menu进行切换
5.解压缩时需要解压出当前目录的压缩文件及所有子目录下的压缩文件到当前目录。(当前目录是指压缩包在所在的目录,在rar软件中的命令为“x”)
6.压缩时压缩到当前目录即可,且压缩后删除原文件进回收站(不彻底删除)
7.用Goto Menu进行切换一个功能为只压缩当前目录下的子文件下的文件夹到当前目录,压缩后删除原文件进回收站(不彻底删除)。(当前目录是指子文件夹下的文件夹的位置)
  1. rem 解压缩到当前文件夹
  2. set "rarpath=C:\Program Files\WinRAR\WinRAR.exe"
  3. if not exist "%rarpath%" (echo;WinRAR指定的路径不正确或没有安装软件&pause&exit)
  4. for /f "delims=" %%a in ('dir /a-d /s /b *.rar,*.7z,*.zip') do (
  5. "%rarpath%" x  -ibck "%%a" "%%~dpa"
  6. )
复制代码
  1. rem 压缩文件夹成RAR格式后删除原文件
  2. for /d %%i in (*) do "C:\Program Files\WinRAR\WinRAR.exe" a -dr -s -m3 -IBCK "%%i.rar" "%%i"
复制代码
  1. @echo off
  2. :: 模拟进度,有剩余时间、已完成进度、进度条的显示
  3. :: code by Macdef 2009-04-11
  4. color 1f
  5. title.
  6. mode con lines=10
  7. rem   进度条 ▉▉▉▉▉
  8. set work=0
  9. set n=0
  10. set mo=0
  11. set number=0
  12. rem  all是总数
  13. set all=100
  14. set time=%all%
  15. :show
  16. :check
  17. if %number% GTR %mo% set num=%num%▉&set /a mo=%mo%+1&goto check
  18. :2
  19. cls
  20. echo  进度: %n% / %all%                                          剩余时间:%time%秒
  21. echo.
  22. echo.
  23. echo                                  完成 %work% %%%
  24. echo.
  25. if not "%num%"=="" echo       %num%
  26. if not "%num%"=="" echo       %num%
  27. if %work%==100 goto end
  28. ping 127.1 -n 1 >nul
  29. set /a n=%n%+1
  30. set /a time=%all%-%n%
  31. set /a work=(%n%)*100/(%all%)
  32. set /a number=%work%/3
  33. set /a number=%number%+1
  34. goto show
  35. endlocal
  36. :end
  37. endlocal
  38. pause>nul
  39. exit
  40. @echo off
  41. :: code by Macdef 2009-04-11
  42. set var=">"
  43. set/p=正在加载: <nul
  44. ping -n 2 127.1>nul
  45. for /l %%i in (1,1,20) do (
  46.     set/p=%var%<nul
  47.     ping -n 2 127.1>nul
  48. )
  49. echo.
  50. echo.
  51. pause
复制代码

返回列表