码迷,mamicode.com
首页 > Windows程序 > 详细

windows for循环 批量查找文件并用winrar压缩并删除原文件

时间:2016-05-19 19:43:11      阅读:320      评论:0      收藏:0      [点我收藏+]

标签:windows   winrar   文件压缩   

需求:因MSSQL2005备份无压缩功能,为节约空间对备份做压缩。

解决思路:查找备份目录下所有.bak备份文件压缩并删除原文件


命令如下:

FOR /R "D:\_SQL_DATA_BACK" %f in (*.bak) DO "C:\Program Files\WinRAR\WinRAR.exe" a -tk -ep1 -m5 -df -y "%f.rar" "%f"


bat脚本如下:

@echo off
FOR /R "D:\_SQL_DATA_BACK" %%f in (*.bak) DO "C:\Program Files\WinRAR\WinRAR.exe" a -tk -ep1 -m5 -df -y "%%f.rar" "%%f"
pause

注:%%是在批处理文件中变量符号,如果在CMD执行的话就应该是一个%。批处理文件在被解析的时候其中一个%被过滤掉,所以才用两个。


for循环使用方法:

FOR /R [[drive:]path] %variable   IN (set)   DO  command [command-parameters]

for   /R  [路径]   %variable传参(bat脚本使用%%f,命令%f)  in (set)    do 命令[command-parameters]


winrar参数解释:     a    添加文件到压缩文件
              tk    保留原始压缩文件时间
              ep1    从名称中排除基本目录
              m<0..5> 设置压缩级别(0-存储3-默认5-最大)
              df    压缩后删除文件
              y     假设对全部询问都回答是

                           







本文出自 “linux技术分享” 博客,请务必保留此出处http://guomt.blog.51cto.com/150883/1775025

windows for循环 批量查找文件并用winrar压缩并删除原文件

标签:windows   winrar   文件压缩   

原文地址:http://guomt.blog.51cto.com/150883/1775025

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!