通过 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. python爬虫教程之美丽汤(一)

    python 爬虫之美丽汤 BeautifulSoup 作者: jwang106 1. 使用requests获取网页的html源码 import requests from bs4 import Be ...

  2. 开发中运行mysql脚本,发现提示mysql提示Column count doesn't match value count at row 1错误

    开发中运行mysql脚本,发现提示mysql提示Column count doesn't match value count at row 1错误, 调试后发现是由于写的SQL语句里列的数目和后面的值 ...

  3. 6.4 Data Types

    Table 6-1 lists the size, representation, and range of each scalar data type for the C28x compiler. ...

  4. k8s 存储 nfs服务

    1.所有节点安装nfs yum install nfs-utils -y 2.配置nfs服务端,在master节点上 vim exports /data 10.0.0.0/24(rw,async,no ...

  5. Lucene 搜索方式

    Lucene 的搜索方式包括:词项查询(TermQuery) / 布尔查询(BooleanQuery) / 短语查询(PhraseQuery) / 范围查询(RangeQuery) / 百搭查询(Wi ...

  6. centos6.5离线安装pandas

    由于笔记本跑不动很多大赛的数据,遂转至申请的虚拟机(centos6.5)中,奈何学校的虚拟机没网,就开始了离线安装pandas的道路,当中有踩了好些坑,于是便产生了这篇文章~ 首先,自带的python ...

  7. JS对象 颠倒数组元素顺序reverse() reverse() 方法用于颠倒数组中元素的顺序。

    颠倒数组元素顺序reverse() reverse() 方法用于颠倒数组中元素的顺序. 语法: arrayObject.reverse() 注意:该方法会改变原来的数组,而不会创建新的数组. 定义数组 ...

  8. MongoDB4.0及以上的版本安装时无法启动服务。

    问题描述:MongoDB安装过程中启动服务失败,点击忽略之后,可以安装完成.安装完成之后提示重启电脑,出现电脑蓝屏. 并且修复好电脑之后无法启动MongoDB服务. 暂时不知道原因(怀疑是MongoD ...

  9. JQuery Ajax 向后台传参方式

    在jquery的ajax函数中,可以传入3种类型的数据 文本:"uname=alice&mobileIpt=110&birthday=1983-05-12" jso ...

  10. day23 内置函数,匿名函数,递归

    Python之路,Day11 = Python基础11 内置函数divmod(x, y)   # (商, 模)enumerate(可迭代对象)     # (序号,值)eval(字符串) # 把字符串 ...