- rem 设置winrar路径
- set "winrar=D:\WinRAR\RAR.exe"
- rem 设置7z路径
- set "z7=D:\7-Zip\7z.exe"
- rem 设置是否加密文件名 输入是加密文件名,其它符号不加密文件名
- set "na=是"
- rem 设置密码
- set mm=baidu.com
- rem 设置压缩文件夹所在目录
- set "file=%~dp0"
- rem 设置zip保存目录
- set "zip=保存目录"
- rem 设置分卷大小以KB为单位
- set kb=4094000
- rem 设置第一次压缩后缀
- set "rara=_第1层压缩"
- rem 设置第二次压缩后缀
- set "zb=_第2层压缩"
-
-
- if /i "%na%"=="是" (set jmfiles=hp) else (set jmfiles=p)
- set "ziptmp=%~dp0tmp"
- cd /d "%~dp0"
- if not exist "%zip%" md "%zip%" >nul 2>nul
- IF EXIST "%ziptmp%" RD /S /Q "%ziptmp%" >nul 2>nul MD "%ziptmp%" >nul 2>nul
-
- for /F "delims=" %%x in ('dir /b /ad "%file%"') do (for /F "delims=" %%i in ('dir /b /ad "%file%%%x"') do (
- if /i not "%%~nxx"=="%zip%" if /i not "%%~nxx"=="tmp" ( echo 正在处理:"%%~x\%%~i"
- IF EXIST "%ziptmp%" (echo 删除临时目录。。
- RD /S /Q "%ziptmp%" >nul)
- IF NOT EXIST "%ziptmp%" (echo 创建目录。。
- MD "%ziptmp%" >nul)
- IF NOT EXIST "%zip%\%%~nxx\" md "%zip%\%%~nxx\" >nul
- if not exist "%zip%\%%~nxx\%%~i%zb%.01" (
- echo 改名到:"%file%%%~x\%%~x%%~i"
- ren "%file%%%~x\%%~i" "%%~x%%~i"
- echo 正在进行第一次压缩..
- "%winrar%" a -%jmfiles%%mm% -m0 "%ziptmp%\%%~nxx%%~i%rara%.rar" -ep1 "%file%%%~x\%%~x%%~i" >nul
- echo 恢复名到:"%%~i"
- ren "%file%%%~x\%%~x%%~i" "%%~i"
- echo 正在进行第二次压缩..
- "%z7%" -t7z -mx=0 -p%mm% a "%zip%\%%~nxx\%%~i%zb%.01" "%ziptmp%\%%~nxx%%~i%rara%.rar" >nul
- ) else (echo *****发现文件:"%zip%\%%~nxx\%%~i%zb%.01" , 现已跳过!。。)
- echo ------------------------------
- )
- )
- )
- IF EXIST "%ziptmp%" RD /S /Q "%ziptmp%" >nul
- echo;
- echo 完成!
- echo;
- pause
- exit
复制代码 本bat功能:
第1层压缩,采用rar格式,压缩完要在名称末尾后添加:_第1层压缩,
第2层压缩,就用zip格式,然后在压缩文件末尾添加:_第2层压缩
最后把扩展名改成:01 |