- @echo off
- setlocal enabledelayedexpansion
-
- :: 设置要搜索的目录
- set "rootdir=C:\MyFile\Test"
-
- :: 遍历目录下的所有.rar和.zip文件
- for /r "%rootdir%" %%i in (*.rar, *.zip) do (
- :: 获取压缩包的完整路径
- set "fullpath=%%i"
- :: 获取压缩包所在的目录
- set "dir=%%~dpi"
- :: 获取压缩包的文件名(不含扩展名)
- set "filename=%%~ni"
-
- :: 使用7-Zip解压压缩包到原位置
- 7z x "!fullpath!" -o"!dir!" -y
-
- :: 创建一个临时目录用于存放解压出来的文件
- md "!dir!!filename!"
-
- :: 遍历解压出来的文件并重命名
- for /r "!dir!" %%f in (*) do (
- if "%%~dpf"=="!dir!!filename!\" (
- set "newname=!filename!@%%~nxf"
- move "%%f" "!dir!!filename!\!newname!"
- )
- )
-
- :: 删除原压缩包
- del "!fullpath!"
- )
-
- echo 处理完成。
- pause
复制代码 回复 1# gddsssko
我这个执行后压缩包不见了,也没有解压后的文件。 |