Windows server定时删除某天前文件的批处理脚本

  

 Windows server定时删除某天前文件的批处理脚本

  
  

注:
1。如XP下因为没有forfiles.exe,拷贝windows2003下的forfiles。exe文件到XP的system32系统目录即可使用forfiles命令。
2。该文档适用于windows客户端操作系统xp win7/8/10, windows服务器端操作系统服务器2003/2008/2012/2016。

     
forfiles.exe及帮助h5>

描述:   

 <代码>选择一个文件(或一组文件)并在那个文件上执行一个命令。这有助于批处理作业。 
  

语法:   

 <代码> forfiles/p & lt;目标目录名的在/d & lt;天数比;/c & lt;执行的命令比; 
  

1。看看列出的三个参数都有什么用处:(简单解析)

  
 <代码>/p指定了要在哪个目录里查找文件,默认是当前工作目录。/d指定一个日期或天数,用于比较文件的最后修改日期是否符合条件。/c对每个找到的文件执行的命令。 
  

2。看看列出的三个参数都有什么用处:(详细解析)

  
 <代码>/p & lt; Path>:指定开始搜索文件的位置,如果不指定则默认为当前目录。/m & lt; SearchMask>:文件查找所使用的通配符如代码中的“* . log”则为所有日志文件,当然也可以指定诸如“manmee_ * . log”这样以manmee开头的所有日志文件。如果不指定此参数则默认为“* *”。/d [{+ | -}] [{& lt; Date> | & lt; Days>}]:指定想选择文件的最后修改时间,上文中用了“/d 7”表示所有以当天为基础,7天以前的文件。
  当然这里还可以指定具体时间,例如:“/d 08/18/2009”这样所有早于2009年8月18日的文件。注意指定的时间必须是“MM/DD/YYYY”的格式。/c对所有文件以此执行指定的命令,命令体须在双引号(”)内,默认是“cmd/c回声@file”。上文中用到的是“cmd/c del/f @ path”删除指定文件。(这里的@file和@ path为变量,下文中将进行解释。 
  例:

  <编辑>要把在C盘根目录下最后修改日期大于或等于2007年7月1日的文件复制到D盘根目录下:   
 <代码> forfiles。exe/p c: \“c/d“2007-7-1”/癱md/c复制@ path d: \” 
  <编辑>删除在C盘备份目录下最后修改日期在10天前的文件:   
 <代码> forfiles。exe/p c: \“备份”/d -10/c cmd/c回声删除@file……,,@ path”del/f  
  <编辑>自动删除D盘测试目录最后修改日期在7天前文件   
 <代码> forfiles。exe/p/s/m“d: \测试”*。7 */d/c cmd/c del @ path” 
  <编辑>删除当前目录下28天以前的扩展名为bkf文件(以当前系统时间为基准)   
 <代码> forfiles。exe/m *。bkf/d -28/c cmd/c del @file/f” 
  
设置过程:先创建。bat文件,需要的脚本写入并保存,设置Windows→管理→计划任务,创建新的计划任务(设置常规选择用户启动,设置触发器运行时间,设置操作添加需要执行的蝙蝠文件)
  

 Windows server定时删除某天前文件的批处理脚本

Windows server定时删除某天前文件的批处理脚本