|
|
楼主 |
发表于 2022-2-23 11:38:03
|
显示全部楼层
【解决方案】- @echo off
- REM 根据自己电脑实际情况设置 7-Zip 的路径
- set "path=C:\Program Files\7-Zip;%path%"
- setlocal enabledelayedexpansion
- cd /d "%~dp0"
- set "StageFolder=%temp%\BatHomeUncompress"
- for /f "delims=" %%a in ('dir /b /s /a-d *.zip *.rar') do (
- echo 正在处理文件 %%a
- md "%StageFolder%"
- for /f "delims=" %%b in ('7z l "%%a" ^| findstr /c:"....A" ^| find /v /c ""') do (
- REM 根据实际情况设置-p参数后面的密码
- 7z x "%%a" -p123456 -o%StageFolder% >nul
- if %%b equ 1 (
- for /f "delims=" %%c in ('dir /b /s /a-d "%StageFolder%"') do (
- move /y "%%c" "%%~na%%~xc"
- )
- ) else (
- set "n=1"
- for /f "delims=" %%c in ('dir /b /s /a-d "%StageFolder%"') do (
- move /y "%%c" "%%~na_!n!%%~xc"
- set /a n+=1
- )
- )
- )
- rd /s /q "%StageFolder%"
- )
- echo 验证解压缩结果无误之后再删除压缩包
- REM del /f /q /s *.zip *.rar
- pause
复制代码 |
|