您的位置:首页 > 其它

递归解压当前目录以及子目录下的所有压缩文件,并删除源文件

2013-10-16 23:43 721 查看
@echo off
setlocal enabledelayedexpansion

echo 当前批处理路径是:
echo "%~dp0"
cd /d "%~dp0"

for /f "usebackq delims=" %%i in (`dir /a-d /b /s *.rar`) do (
echo "%%i"
set rar_path=%%~dpi
echo "!rar_path!"
REM 更改到rar所在目录,然后去掉该目录下所有rar文件的隐藏属性和只读属性。不然的话winrar无法处理。
cd /d "!rar_path!"
attrib -h -r "!rar_path!"* /s /d
REM 使用下面的命令时,请自行查找winrar的帮助文档,以免解压后会直接覆盖已有的文件。
"C:\Program Files\WinRAR\WinRAR.exe" x -r -inul -y "!rar_path!\*.rar" * -o-

del "!rar_path!\*.rar"

)

rem winrar命令行模式下,不能自动处理隐藏文件,不会对其解压,对于只读的压缩文件会提示拒绝访问,所以必须用attrib命令去掉-h -r 属性。
rem 上面的attrib命令,后面必须跟一个星号*,否则attrib命令会提示:“找不到文件 - C:\Users\lm\CMB\PB40\”
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐