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进行切换一个功能为只压缩当前目录下的子文件下的文件夹到当前目录,压缩后删除原文件进回收站(不彻底删除)。(当前目录是指子文件夹下的文件夹的位置)- rem 解压缩到当前文件夹
- set "rarpath=C:\Program Files\WinRAR\WinRAR.exe"
- if not exist "%rarpath%" (echo;WinRAR指定的路径不正确或没有安装软件&pause&exit)
- for /f "delims=" %%a in ('dir /a-d /s /b *.rar,*.7z,*.zip') do (
- "%rarpath%" x -ibck "%%a" "%%~dpa"
- )
复制代码
- rem 压缩文件夹成RAR格式后删除原文件
- for /d %%i in (*) do "C:\Program Files\WinRAR\WinRAR.exe" a -dr -s -m3 -IBCK "%%i.rar" "%%i"
复制代码
- @echo off
- :: 模拟进度,有剩余时间、已完成进度、进度条的显示
- :: code by Macdef 2009-04-11
- color 1f
- title.
- mode con lines=10
- rem 进度条 ▉▉▉▉▉
- set work=0
- set n=0
- set mo=0
- set number=0
- rem all是总数
- set all=100
- set time=%all%
- :show
-
- :check
- if %number% GTR %mo% set num=%num%▉&set /a mo=%mo%+1&goto check
-
- :2
-
- cls
- echo 进度: %n% / %all% 剩余时间:%time%秒
- echo.
- echo.
- echo 完成 %work% %%%
- echo.
- if not "%num%"=="" echo %num%
- if not "%num%"=="" echo %num%
-
- if %work%==100 goto end
-
- ping 127.1 -n 1 >nul
- set /a n=%n%+1
- set /a time=%all%-%n%
- set /a work=(%n%)*100/(%all%)
- set /a number=%work%/3
- set /a number=%number%+1
- goto show
- endlocal
-
- :end
- endlocal
- pause>nul
- exit
-
- @echo off
- :: code by Macdef 2009-04-11
- set var=">"
- set/p=正在加载: <nul
- ping -n 2 127.1>nul
- for /l %%i in (1,1,20) do (
- set/p=%var%<nul
- ping -n 2 127.1>nul
- )
- echo.
- echo.
- pause
复制代码
|