批处理使用WinRAR压缩某类型的文件,一个文件压缩成一个压缩包,压缩后名称与原文件同名,压缩后删除原文件

@echo off
setlocal enabledelayedexpansion
rem winrar安装目录,我的在D盘且目录为下
cd D:\Program Files\WinRAR
rem 需要压缩的文件所在目录
set a=D:\dmp
set c=0
for %%k in (%a%\*.sql*) do (
set /a c+=1
WinRAR a -r -ep "%~dp0%%~nk.rar" "%%k" -ibck -m5
cls&echo.&echo 正在处理第!c!个文件
del %%k
)
echo.
echo 完成,按任意键退出&pause >nul
exit

注:
%a%*.sql*:匹配D:\dmp目录下所有后缀为.sql 的文件
%%k:在D:\dmp目录下匹配到的文件
%~dp0%%~nk.rar:获取原文件名称不带后缀
%%k:获取原文件名称带后缀
del %%k:删除原文件

猜你喜欢

转载自blog.csdn.net/shaopeilin_94/article/details/78684183