windows for循环 批量查找文件并用winrar压缩并删除原文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows for循环 批量查找文件并用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 批处理脚本的 for 循环中未通过“查找”命令获得所需的输出