改进一版,解决了7z处理完仍继续跑完密码。
转换过的7z将其移动了"已转换的7z"文件夹内,你可以自行修改下 移动到其它位置或删除或改后缀名 都行。- @echo off
- mkdir "%~dp0已转换的7z"
-
- echo. 读取文本密码
- for /f "delims=" %%x in ('TYPE pw.txt')do (set pw=%%x &call :chpw)
-
- echo 运行结束
- rd ~Tmp /s /q >nul 2>nul
- pause
- exit
-
-
- :chpw
- echo. 7z转换zip
- path "%ProgramFiles%\7-Zip";%path%
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('dir /b /a-d *.7z') do (set zf=%%i
- 7z x "!zf!" -p!pw! -o"%~dp0~Tmp" -aoa &&7z a "%%~dpni.zip" "%~dp0~Tmp\*" -y -sdel &&goto pass
- )
- goto :eof
-
-
- :pass
- move "!zf!" "%cd%\已转换的7z\"
- rd ~Tmp /s /q >nul 2>nul
-
- (for /f "delims=" %%a in ('dir /b /a-d *.7z') do set zf2=%%a)>nul 2>nul
- if "%zf2%"=="" goto ok
- goto :eof
-
-
- :ok
- echo 【7z转换zip已完成】
- pause
- exit
复制代码
|