最近在开发的过程中,为了节省资源,需要用到windows下批量删除文件的批处理命令,也就是bat

主要内容:

forfiles /p "E:\pictures" /m * /d -1 /c "cmd /c  del /Q @file"

大致意思就是删除E:\pictures目录以及其子目录下的修改时间为一天前的文件(此处用了通配符适配所有文件)

详细的说明 引用来此这里:

http://www.jb51.net/article/93970.htm

下面帖一下forfiles的参数用法
 
Forfiles
从文件夹或树中选择要进行批处理的文件。
 
语法
forfiles [/p Path ] [/m SearchMask ] [/s ] [/c Command ] [/d [{+ | - }] [{MM / DD / YYYY | DD }]]
 
参数
/p Path
 
指定Path ,表明要从哪里开始搜索。默认的文件夹是当前工作目录,该目录通过键入句号(.) 指定。
 
/m SearchMask
 
按照SearchMask 搜索文件。默认的SearchMask 是*.* 。
 
/s
 
指示forfiles 在子目录中搜索。
 
/c Command
 
在每个文件上运行指定的Command 。带有空格的命令字符串必须用引号括起来。默认的Command 是"cmd /c echo @file" 。
 
/d [{+ | - }] [{MM / DD / YYYY | DD }]
 
选择日期大于或等于(+ )(或者小于或等于(- ))指定日期的文件,其中MM / DD / YYYY 是指定的日期,DD 是当前日期减去DD 天。如果未指定+ 或- ,则使用+ 。DD 的有效范围是0 - 32768。
 
/?
 
在命令提示符下显示帮助。
 
注释 
 
•  Forfiles 最常用于批处理文件中。
•  Forfiles /s 与dir /s 类似。
•  下表列出了可在/c Command 命令字符串中使用的变量。
 
变量  描述 
@file
 文件名
 
@fname
 无扩展名的文件名
 
@ext
 文件扩展名
 
@path
 文件的完整路径
 
@relpath
 文件的相对路径
 
@isdir
 如果文件类型是目录,则计算值为TRUE,否则值为FALSE
 
@fsize
 用字节表示的文件大小
 
@fdate
 文件中上次修改的日期戳
 
@ftime
 文件中上次修改的时间戳
 
 
•  使用forfiles ,可以在多个文件上运行命令或将参数传递给多个文件。例如,可以在树中带有*.txt 扩展名的所有文件上运行TYPE 命令。或者,可以用文件名“Myinput.txt”作为第一个参数,在C:/ 驱动器上执行每个批处理文件(*.bat)。
 
•  通过使用forfiles ,可以执行下列任何操作:
 
•  使用/d 按照绝对或相对日期选择文件。
 
•  使用诸如@fsize(文件大小)和@fdate(文件日期)这样的变量构建文件的存档树。
 
•  使用@isdir 变量区分文件和目录。
 
•  通过在命令行中包含特殊字符和使用十六进制代码0x HH 环绕字符来格式化输出内容。
 
 
•  Forfiles 通过在旨在仅处理单个文件的工具上执行“循环子目录”标记来发挥作用。
 
 
示例
要列出驱动器C: 上的所有批处理文件,请键入:
 
forfiles /p c:/ /s /m*.bat /c"cmd /c echo @file is a batch file"
 
要列出驱动器C: 上的所有目录,请键入:
 
forfiles /p c:/ /s /m*.* /c"cmd /c if @isdir==true echo @file is a directory"
 
要列出驱动器C: 上存在时间多于100 天的所有文件,请键入:
 
forfiles /p c:/ /s /m*.* /dt-100 /c"cmd /c echo @file :date >= 100 days"
 
要列出驱动器C: 上1993 年1 月1 日以前创建的所有文件,而且对于日期早于1993 年1 月1 日的文件显示“file is quite old!”,请键入:
 
forfiles /p c:/ /s /m*.* /dt-01011993 /c"cmd /c echo @file is quite old!"
 
要按列格式列出驱动器C: 上所有文件的扩展名,请键入:
 
forfiles /p c:/ /s /m*.* /c "cmd /c echo extension of @file is 0x09@ext0x09" With:
 
要列出驱动器C: 上的所有批处理文件,请键入:
 
forfiles /p c:/ /s /m *.bat /c "cmd /c echo @file is a batch file"
 
要列出驱动器C: 上的所有目录,请键入:
 
forfiles /p c:/ /s /m *.* /c "cmd /c if @isdir==true echo @file is a directory"
 
要列出驱动器C: 上存在时间多于100 天的所有文件,请键入:
 
forfiles /p c:/ /s /m *.* /d t-100 /c "cmd /c echo @file :date >= 100 days"
 
要列出驱动器C: 上1993 年1 月1 日以前创建的所有文件,而且对于日期早于1993 年1 月1 日的文件显示“file is quite old!”,请键入:
 
forfiles /p c:/ /s /m *.* /d t-01011993 /c "cmd /c echo @file is quite old!"
 
要按列格式列出驱动器C: 上所有文件的扩展名,请键入:
 
forfiles /p c:/ /s /m*.* /c "cmd /c echo extension of @file is 0x09@ext0x09"

关于windows下自带的forfile批量删除文件bat命令的更多相关文章

  1. windows下运行的linux服务器批量管理工具(带UI界面)

    产生背景: 由于做服务器运维方面的工作,需要一人对近千台LINUX服务器进行统一集中的管理,如同时批量对LINUX服务器执行相关的指令.同时批量对LINUX服务器upload程序包.同时批量对LINU ...

  2. EOFError: Compressed file ended before the end-of-stream marker was reached解决办法(在Windows下查看已下载的MNIST数据文件)

    出现这个问题的原因是因为文件下载到一半就中断了,解决办法是删除datasets中下载到一半的数据包. 下面以我遇到的问题为例: 我下载数据下载到最后一个包就没有反应了,于是我强制终止了运行,可能是因为 ...

  3. ( 转)Ubuntu下创建、重命名、删除文件及文件夹,强制清空回收站方法

    Ubuntu下创建.重命名.删除文件及文件夹,强制清空回收站方法 mkdir 目录名 ——创建一个目录 rmdir 空目录名 ——删除一个空目录 rm 文件名 文件名 ——删除一个文件或多个文件 rm ...

  4. git 批量删除文件夹和文件

    git 批量删除文件夹和文件 硬盘删除文件后,执行$ git status   会提示你仍然需要$ git rm <文件>   此时如果是要删除大批量文件,这么一个一个命令下去不得累死人啊 ...

  5. Git 时光穿梭鸡 删除文件 以及批量删除文件

    先添加一个新文件test.txt到Git并且提交: 一般情况下,你通常直接在文件管理器中把没用的文件删了,或者用rm命令删了 $ rm test.txt 这个时候,Git知道你删除了文件, 因此,工作 ...

  6. Linux基础教程 linux系统中的批量删除文件与空文件删除的命令介绍

    linux下面删除文件或者目录命令rm(remove): 兄弟连Linux培训 功能说明:删除文件或目录. 语 法:rm[-dfirv][--help][--version][文件或目录...] 补充 ...

  7. linux 批量删除文件

    来源;https://www.cnblogs.com/sinpo/p/7106998.html linux下批量删除文件   1. 在linux批量删除多级目录下同一格式的文件,可采用find + e ...

  8. Linux 递归批量删除文件夹或文件的命令

    笔者有一次Linux服务器上的网站被别人在每一个文件夹下恶意注入了目录和文件,由于项目的目录太多,手动删除费时费力,最后用Linux的命令批量删除了注入内容.相关命令介绍如下: 递归批量删除文件夹: ...

  9. Linux命令行批量删除文件(目录)

    快速-批量删除文件或目录 1-1.快速删除大文件夹(注意目录后的结束符'/')(对于含有海量文件的目录,不能直接rm -rf删除,这样效率很慢:) rsync -a --delete blank/ t ...

随机推荐

  1. selenium c# 的注意事项

    http://chromedriver.storage.googleapis.com/index.html chromedriver的下载地址http://selenium-release.stora ...

  2. ubuntu 安装mysql及目录位置

    安装 sudo apt-get install MySQL-server mysql-client 查看安装端口情况 sudo netstat -tap | grep mysql 配置文件位置 sud ...

  3. 只安装自己需要的Office2016组件的方法

    转自:https://www.ithome.com/html/office/178814.htm http://www.orsoon.com/news/184524.html

  4. 【Bzoj4555】【Luogu P4091】求和(NTT)

    题面 Bzoj Luogu 题解 先来颓柿子 $$ \sum_{i=0}^n\sum_{j=0}^iS(i,j)2^jj! \\ =\sum_{j=0}^n2^jj!\sum_{i=0}^nS(i,j ...

  5. 【贪心】hdu5969 最大的位或

    对于右端点r和左端点l,考虑他们的二进制位从高到低,直到第一位不同的为止. 更高的都取成相同的,更低的都取成1. 比如 101011110001 101011101001 101011111111 # ...

  6. 【数论】【中国剩余定理】poj1006 生理周期

    CRT用于求解一元线性同余方程组(模数互质),实际上模数不互质我们也可以解决,在之前的某篇文章里提过.如下 http://www.cnblogs.com/autsky-jadek/p/6596010. ...

  7. hibernate双向ManyToMany映射

    工作需要一个双向多对多映射,照着李刚的书做了映射,碰到了一些问题,现就问题及解决方案进行总结归纳. 1.首先奉上最初代码 Person5.java @Entity @Table(name = &quo ...

  8. Springcloud中的region和zone的使用

    一.背景 用户量比较大或者用户地理位置分布范围很广的项目,一般都会有多个机房.这个时候如果上线springCloud服务的话,我们希望一个机房内的服务优先调用同一个机房内的服务 ,当同一个机房的服务不 ...

  9. 十二. 网络与数据库编程1.IP地址和InetAddress类

    Java语言的优势之一是Java程序能访问网络资源.Java提供一系列的类支持Java程序访问网络资源. TCP/IP协议和IP地址 为了进行网络通信,通信双方必须遵守通信协议.目前最广泛使用的是TC ...

  10. js 封装的自动创建表格的相关操作

    因为要做一个动态输入的表格,现在积累一下资料,在网上找了一些资料,经过总结是使用更加方便些,谁有更好的插件和封装的东西,请大家分享一下. <script type="text/java ...