通过 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. (转)使用Apache的ab工具进行压力测试

    转:http://www.cnblogs.com/luckyliu/archive/2012/03/04/2379306.html Apache附带的ab工具(本机使用的PHP环境是WAMP集成环境, ...

  2. Visual Studio Code 的简单试用体验

    首先对Visual Studio Code做一个大概的介绍.首先明确一下,这个Visual Studio Code(以下简称 vscode)是一个带GUI的代码编辑器,也就是只能完成简单的代码编辑功能 ...

  3. Java-javaFx库运用-自动弹跳的球

    (1)定义一个名为BallPane的类,用于显示一个弹动的球: (2)定义一个名为BounceBallControl的类,用来使用鼠标动作控制弹球,当鼠标按下的时候动画暂停,当鼠标释放的时候动画恢复执 ...

  4. 收藏的链接-English

    What is the adverb for deposit? https://www.wordhippo.com/what-is/the-adverb-for/deposit.html

  5. 2018自己的JavaScript开发指南

    这是一个备忘清单,可以让你在不用做太多选择的情况下快速学习.我会列出一些工具来满足大部分场景下的前端开发.当你看完这篇文章,你会有足够的自信来调整你的技术栈. ☉概要 我会将地图划分为你需要解决的问题 ...

  6. Flutter 类似viewDidAppear 的任务处理

    前言 在任务之中 ,有些实时任务比较重的需求,需要在类似 iOS viewDidAppear 里面执行数据请求任务,如:上一个页面返回pop 后执行网络请求任务.在flutter中如何实现呢?  目前 ...

  7. dev设置子窗体的初始位置,grid控件表头的属性设置

    当在父窗体上弹出子窗体时,一般设置子窗体的初始位置是居中, //在需要展示子窗体的父窗体上写这段,注意必须设置在show方法之前Form2 f2 = new Form2(); f2.MdiParent ...

  8. JS去重算法

    1.遍历数组法 它是最简单的数组去重方法(indexOf方法) 实现思路:新建一个数组,遍历去要重的数组,当值不在新数组的时候(indexOf为-1)就加入该新数组中: var arr=[2,8,5, ...

  9. [JZOJ6272] 2019.8.4【NOIP提高组A】整除

    题目 题目大意 求方程\((x^m-x)\mod n=0\)在整数范围\([1,n]\)的解的个数. \(n=\sum_{i=1}^{c}p_i\) 给出\(c\)和\(p_i\) 思考历程 作为数论 ...

  10. 廖雪峰Java16函数式编程-2Stream-6reduce

    1. 聚合方法 Stream.reduce()是一个Stream的聚合方法:把一个Stream的所有元素聚合成一个结果 例如: Stream.of(1, 2, 3, 4, 5).count(); // ...