通过 Forfiles 删除指定目录下过期的备份文件

/*-- 用法详解

D:/>forfiles /?

FORFILES [/P pathname] [/M searchmask] [/S]

[/C command] [/D [+ | -] {yyyy-MM-dd | dd}]

描述 :

选择一个文件 ( 或一组文件 ) 并在那个文件上

执行一个命令。这有助于批处理作业。

参数列表 :

/P    pathname      表示开始搜索的路径。默认文件夹是当前工作的

目录 (.) 。

/M    searchmask    根据搜索掩码搜索文件。默认搜索掩码是 '*' 。

/S                  指导 forfiles 递归到子目录。像 "DIR /S" 。

/C    command       表示为每个文件执行的命令。命令字符串应该

用双引号括起来。

默认命令是 "cmd /c echo @file" 。下列变量

可以用在命令字符串中 :

@file    - 返回文件名。

@fname   - 返回不带扩展名的文件名。

@ext     - 只返回文件的扩展。

@path    - 返回文件的完整路径。

@relpath - 返回文件的相对路径。

@isdir   - 如果文件类型是目录,返回 "TRUE" ;

如果是文件,返回 "FALSE" 。

@fsize   - 以字节为单位返回文件大小。

@fdate   - 返回文件上一次修改的日期。

@ftime   - 返回文件上一次修改的时间。

要在命令行包括特殊字符,字符请以 0xHH

形式使用十六进制代码 ( 例如, x09 为 tab) 。

内部 CMD.exe 命令前面应以 "cmd /c" 开始。

/D    date           选择文件,其上一次修改日期大于或等于 (+) ,

或者小于或等于 (-) 用 "yyyy-MM-dd" 格式指定的日期 ;

或选择文件,其上一次修改日期大于或等于 (+)

当前日期加 "dd" 天,或者小于或等于 (-) 当前

日期减 "dd" 天。有效的 "dd" 天数可以是

0 - 32768 范围内的任何数字。如果没有指定,

"+" 被当作默认符号。

/?                  显示帮助消息。

例如 :

FORFILES /?

FORFILES

FORFILES /P C:/WINDOWS /S /M DNS*.*

-- 显示 C:/WINDOWS 目录及子目录下 DNS 开头的所有文件名

FORFILES /S /M *.txt /C "cmd /c type @file | more"

-- 显示当前目录下所有 TXT 文件的内容

FORFILES /P C:/ /S /M *.bat

-- 显示 C 盘目录下及子目录下所有文件后缀名为 bat 的文件名

FORFILES /D -30 /M *.exe

-- 显示当前目录下修改日期小于等于天前的 exe 文件名

/C "cmd /c echo @path 0x09 在 30 前就被更改。 "

-- 显示当前目录下所有文件的完整路径并在后面追加 ‘ 在 30 前就被更改 ’ 的文字

FORFILES /D 2001-01-01

-- 显示当前目录下修改日期大于等于 -01-01 的文件名 ( 含文件夹名 )

/C "cmd /c echo @fname 在 2001 年月日就是新的。 "

-- 显示当前目录下所有文件名并在后面追加 ‘ 在 30 前就被更改 ’ 的文字

FORFILES /D +2009-8-18 /C "cmd /c echo @fname 今天是新的。 "

-- 显示当前目录下修改日期大于等于 -8-18 的文件名并在后面追加 ‘ 今天是新的 ’ 的文字

FORFILES /M *.exe /D +1

-- 显示当前目录下修改日期大于等于明天的 exe 文件名

FORFILES /S /M *.doc /C "cmd /c echo @fname @fsize"

-- 显示当前目录及子目录下所有 doc 文件的文件名和文件大小

FORFILES /M *.txt /C "cmd /c if @isdir==FALSE notepad.exe @file"

-- 打开当前目录下 txt 文件,不含子文件。 ( 注意变量 isdir 后面的 FALSE 必须为大写 )

*/

目的:删除目录E: /sqldataup 中5天前的 . bak 文件:

步骤:

1 、定义 FORFILES 批处理脚本如下:

C: /> FORFILES /P E:\sqldataup / M *. bak / C "cmd /C del /Q @path" / d -5

如果执行成功则返回当前盘符 C: /> 。

-- 如果没有需要删除的文件则返回信息错误 : 用指定的搜索标准没有找到文件。比如:

--C:/>FORFILES /P i:/sqldataup /M *.bak /C "cmd /C del /Q @path" /d -5

-- 错误 : 用指定的搜索标准没有找到文件

bat删除多少天前的文件包含子目录的更多相关文章

  1. bat脚本删除一周前的文件

    bat脚本删除7天前的文件 @echo off forfiles /p D:\logstash-1.4.2\bin\ /m *.log -d -7 /C "cmd /c del /f @pa ...

  2. windows下自动删除n天前的文件

    使用windows2003下的内置命令forfiles配合计划任务可以实现自动删除n天前的文件. windows2003中设定自动执行的计划任务很简单. 一.脚本编写 forfiles命令用法: Fo ...

  3. 用批处理文件自动备份文件及文件夹,并自动删除n天前的文件

    原文:用批处理文件自动备份文件及文件夹,并自动删除n天前的文件 ---恢复内容开始--- 下是备份的批处理,添加到"计划任务"中,设定时间自动运行 复制代码 代码如下:@echo ...

  4. 操作LOG文件-删除log目录下,所有的空文件-删除5天前的文件

    # 1.logs目录下,有一部分文件是空的# 1.删除log目录下,所有的空文件# 2.删除5天前的文件 # 需求分析:# 1.os.walk()获取到所在以.log结尾的文件# 2.判断文件的大小, ...

  5. powershell 删除7天前的文件

    powershell 删除7天前的文件 $today=Get-Date #"今天是:$today" #昨天 #"昨天是:$($today.AddDays(-1))&quo ...

  6. 删除n天前的文件或文件夹 bat批处理

    @echo off @echo deleting... FORFILES /p "D:\a" /D -1 /C "cmd /c echo deleting @file . ...

  7. 用批处理文件删除n天前的文件

    原文:http://blog.csdn.net/leehq/archive/2007/08/03/1723743.aspx 公司服务器用来备份数据的硬盘过段时间就会被备份文件占满,弄得我老是要登录到服 ...

  8. linux查找删除某天前的文件(转载)

    语句写法:find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \; 例1: 将/usr/local/backups目录下所有10天前带 ...

  9. 删除N天前的文件(夹)与拷贝文件到共享盘的批处理

    rem ======= 删除目录 7天前目录 ========= forfiles /P "E:\Folder" /S /D -7 /C "Cmd /C If @isdi ...

随机推荐

  1. 秦曾昌人工智能课程---6、Decision Tree Learning

    秦曾昌人工智能课程---6.Decision Tree Learning 一.总结 一句话总结: 怎样去构建决策树:比如一维:***|00|***|000|***,|为分割线,每个分割点都是一种情况, ...

  2. CSS3:CSS3 渐变(Gradients)

    ylbtech-CSS3:CSS3 渐变(Gradients) 1.返回顶部 1. CSS3 渐变(Gradients) CSS3 渐变(gradients)可以让你在两个或多个指定的颜色之间显示平稳 ...

  3. LeetCode 176. Second Highest Salary (第二高的薪水)

    题目标签: 题目给了我们一个工资表,让我们返回第二高的工资. 利用Max,把第一高的工资找到,然后利用 NOT IN,去找到第二高的工资. Java Solution: Runtime:  153ms ...

  4. java发送http的get/post请求(一)

    HTTP请求类 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; ...

  5. ubuntu 12.04系统黑屏,登录界面黑屏

    ubuntu 12.04系统黑屏,登录界面黑屏 原文链接:http://www.2cto.com/os/201305/213737.html   1.硬件环境     Intel® Core™ i5- ...

  6. HDU-1754-I Hate It-线段树-求区间最值和单点修改

    开学新拉的题目,老题重做,思路会稍微比之前清晰,不过这也算是一点点进步了. 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少. 这让很多学生很反感. 不管你喜不喜欢,现 ...

  7. varnish(转http://www.ttlsa.com/nginx/varnish-4-configure-file/)

    2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 ...

  8. 第三天:字典表dict、元组tuple、文件与类型汇总

    1.字典表dict 声明 {键: 值,...} dict(键=值) d = {'isbn':'13123','title':'python入门'} #字典表中的键不能使用诸如列表这种可以改变的,只能使 ...

  9. iOS开发之系统通讯录

                          @iOS调用操作通讯录所用的库文件                                         AddressBook.framewor ...

  10. iOS进阶四-自动释放池原理

    概述 AutoreleasePool(自动释放池)是OC中的一种内存自动回收机制,它可以延迟加入AutoreleasePool中的变量release的时机.在正常情况下,创建的变量会在超出其作用域的时 ...