forfiles 批处理删除文件

批处理进阶技巧:用forfiles命令替代del实现更安全的过期文件删除(Windows全版本兼容) 本文深入解析Windows系统中forfiles命令的进阶用法,提供比传统del命令更安全的过期文件删除方案。通过时间参数/d实现精准筛选,结合多条件组合与异常处理技巧,帮助管理员避免误删关键数据。文章涵盖从基础语法到企业级自动化脚本的全套解决方案,特别适合需要批量删除特定后缀文件的运维场景。 阅读详情
AI摘要

本文介绍如何使用forfiles命令批量删除Windows系统中指定目录下7天以前的文件及所有空目录,包括命令参数详解及示例脚本。

 

1. 用批处理文件删除当前目录下 7 天以前的扩展名为bkf文件(以当前系统时间为基准)
   示例: forfiles /m *.bkf /d -7 /c "cmd /c del @file /f"

2. forfiles 自动删除7天前文件 (以当前系统时间为基准)
示例: forfiles /p "d:\test" /s /m *.* /d -7 /c "cmd /c del @path"

  d:\test换成你要的目录路径; /d -7 指删除7天以前文件。

forfiles /p "e:\FTP共享文件夹" /s /d -10 /c "cmd /c del/f/q @path"

  /f 是强制删除删除文件,/q 是不提示,无这两个参数遇到只读文件会中断。

脚本执行最好加上这2个,这样不会一直提示


3. 删除所有的空目录(以删除d:\test目录下为例) :

dir /ad/b/s d:\test\ |sort /r >d:\kill.txt
For /f "tokens=*" %%i in (d:\kill.txt) DO rd "%%i"
del d:\kill.txt

4. 先删7 天以前文件,再删所有的空目录 ;把以下复制到bat文件中。
 @echo off
 forfiles /p "d:\test" /s /m *.* /d -7 /c "cmd /c del @path"
 dir /ad/b/s d:\test\ |sort /r >d:\kill.txt
 For /f "tokens=*" %%i in (d:\kill.txt) DO rd "%%i"
 del d:\kill.txt

 

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

例1.要把在C盘根目录下最后修改日期大于或等于2010年1月7日的文件复制到D盘根目录下:
    forfiles /p "c:\" /d "2007-7-1" /c "cmd /c copy @path d:\"

例2.删除在C盘backup目录下最后修改日期在10天前的文件:
     forfiles /p "c:\backup" /d -10 /c "cmd /c echo deleting @file ... && del /f @path"

6. forfiles /p 包含要删除文件的完整路径(如:F:\Logfiles) /m *.log -d -7 /c "cmd /c del /f

@path"

解释一下相关参数及命令

/p : 指定开始搜索文件的位置,如果不指定则默认为当前目录。

/m : 文件查找所使用的通配符如代码中的"*.log"则为所有日志文件,当然也可以指定诸

如"manmee_*.log"这样以manmee开头的所有日志文件。如果不指定此参数则默认为"*.*"。

/d [{+|-}][{|}] : 指定想选择文件的最后修改时间,上文中用了 "/d -7" 表示所有以当

天为基础,7天以前的文件。当然这里还可以指定具体时间,例如:"/d -01/7/2010"这样所有早于2010年

1月7日的文件。注意指定的时间必须是"MM/DD/YYYY"的格式。

/c 对所有文件以此执行指定的命令,命令体须在双引号(")内,默认是"cmd /c echo @file"。上文中用

到的是"cmd /c del /f @path"删除指定文件。(这里的@file 和 @path 为变量,下文中将解释。)

下面说一下上文中用到的参数:

@PATH : 表示文件的完整的路径。

@File : 表示文件名称。


接下来我们看看删除文件夹的操作,如果你看了上面的介绍,相信这命令你一看就能看懂。

forfiles /p 包含文件夹的路径(如:F:\) /m 文件夹名称(如:LogFiles) -d 0 /c "cmd /c if @ISDIR

== true rd /s/q @path"

注意这里的"包含文件夹的路径"不能包含要删除的文件夹,如以上代码所表示的就是,在F盘中查找名为

LogFiles的文件或文件夹(不能指定查找文件夹,不过在删除时我们做了判断)。

还有就是这里出现了一个新的参数"@ISDIR"他用于判断当前文件类型是否是"文件夹类型",如果是则为

true否则为false。

FORFILES,WINDOWS批处理删除文件夹,子文件 ,按日期筛选。包含举例,非常方便 WINDOWS批处理删除文件夹,子文件 ,按日期筛选。非常方便 立即下载

相关推荐

bat使用forfiles自动批量删除过期文件

主要介绍了bat使用forfiles自动批量删除过期文件,需要的朋友可以参考下

cmd(forfiles): 删除指定目录下的文件

cmd, forfiles, 删除指定目录下的文件

qq_26999219的博客 2977

【SPSS操作】Non-parametric ANCOVA (Quade‘s) in SPSS

在SPSS中执行Quade的非参数ANCOVA需要手动计算步骤,因为SPSS没有内置的菜单选项。以下是详细的操作指南。

weixin_43689393的博客 1278

windows删除文件的批处理操作

1. 用批处理文件删除当前目录下 7 天以前的扩展名为bkf文件(以当前系统时间为基准) 示例: forfiles /m *.bkf /d -7 /c "cmd /c del @file /f" 2. ...

coujiongyong0208的博客 703

快充协议全兼容!HUSB390对比测试:iPhone/小米/华为哪个充电最快?

本文深入评测了HUSB390快充协议芯片的全兼容性能,展示了其在iPhone、小米和华为设备上的极速充电表现。通过智能功率分配算法和多协议并行处理引擎,HUSB390实现了高效的动态调压和温度控制,显著提升多设备充电效率。特别适合需要同时为不同品牌设备快充的用户。

dd012的博客 1万+

别再只调包了!深入理解机器学习虚拟筛选中的分子指纹(ECFP/Morgan)

本文深入探讨了ECFP/Morgan分子指纹在机器学习虚拟筛选中的应用与优化策略。通过解析半径参数与比特长度的化学意义,揭示了如何通过参数调优提升模型性能20%以上,特别适用于药物发现领域的高通量筛选。文章还提供了工程实践中的参数优化策略和多指纹融合技术,为开发者提供从理论到实践的全面指导。

weixin_33704234的博客 829

linux批处理定时删除文件,forfiles命令,在Windows删除旧文件-批处理删除文件

在运行Windows的时候,也会出现一些不必要的文件,需要进行定期的删除,避免占用大量的磁盘空间。Windows的forfiles命令犹如Linux的find命令,一行命令就可以删除旧文件及文件夹。Windows的批处理文件,一般后缀为bat或者cmd,在这里使用bat。1) forfiles常用变量在这里文件为C:\Apache\access.log。变量内容输出结果@file文件名(包括后缀)...

weixin_42659252的博客 1309

OpenClaw 多机器人多 Agent 模式:打造你的 AI 助手团队

OpenClaw多Agent模式为企业提供高效的AI助手团队解决方案。通过创建4个独立的飞书机器人(主助理、内容创作、技术开发、AI资讯),每个连接专属Gateway和Agent模型(如Claude Opus/Sonnet、Gemini 2.5),实现专业分工。相比单Agent模式,多Gateway架构具有配置清晰、互不干扰、无需手动切换等优势。系统采用Profile隔离机制,各Agent拥有独立配置和端口。部署过程包括创建机器人应用、配置Agent、运行自动化脚本等步骤,支持私聊或群组@使用。日常提供状态

Maynor的博客 5099

CMD批处理——forfiles命令使用,自动删除过期备份文件

公司服务器用来备份数据的硬盘过段时间就会被备份文件占满,弄得我老是要登录到服务器去手工删除那些老的文件,有时忘记了就会导致硬盘空间不足而无法备份。因为只要保留最近几天的备份,如果可以做一个批处理让系统自动删除老备份文件就好了,但是Windows的命令行和Linux的Shell比起来功能差了很多,到底行不行我自己也不清楚。于是上网查了一下各位大虾发的帖子,...

weixin_34290390的博客 822

SE模块理解+SE-Resnet模块pytorch实现

文章目录SE模块理解SE实现注意力机制原因SE-resnet网络pytorch实现定义residual定义SE模块 SE模块理解 SENet是Squeeze-and-Excitation Networks的简称,拿到了ImageNet2017分类比赛冠军,其效果得到了认可,其提出的SE模块思想简单,易于实现,并且很容易可以加载到现有的网络模型框架中。SENet主要是学习了channel之间的相关性,筛选出了针对通道的注意力,稍微增加了一点计算量,但是效果比较好。 SE模块广泛应用于去噪,去雨方向,利用SE模

qq_42754919的博客 2万+

OpenClaw + Antigravity + 飞书完整部署教程

在 Linux 服务器上部署 OpenClaw,使用 Antigravity 本地代理 AI 模型,并接入飞书实现 24 小时在线 AI 助手。

Maynor的博客 1788

用批处理文件删除n天前的文件(转)+XP不支持forFiles命令解决

用批处理文件删除n天前的文件(转)+XP不支持forFiles命令解决 2010年08月10日   公司服务器用来备份数据的硬盘过段时间就会被备份文件占满,弄得我老是要登录到服务器去手工删除那些老的文件,有时忘记了就会导致硬盘空间不足而无法备份。   因为只要保留最近几天的备份,如果可以做一个批处理让系统自动删除老备份文件就好了,但是Windows的命令行和Linux的Shell比起...

fye136jf 272

[VCS]VCS dump fsdb的精细化控制

本文介绍了VCS FSDB波形dump的精细化控制方法。主要内容包括:1)基本dump方式;2)通过$fsdbDumpoff排除特定层次;3)使用$fsdbDumpvars选择性dump指定模块;4)运行时动态控制dump开关;5)通过文件管理排除列表($fsdbDumpoffFile或自定义读取);6)层次控制策略(剪除整棵树或仅当前层)。这些方法可有效控制波形文件大小,提高仿真效率。

元直的博客 1033

FORFILES批处理定时删除文件

关于idoall.org每天都需要做定时备份,下面的批处理文件是定时对目录进行复制,并进行rar压缩,同时删除7天前的备份文件 ------------------------------siteback.bat--------------------------------------------- rem 复制数据库备份 robocopy C:\progra~1\..... D:\s

zylcon的专栏 1267

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

forfiles批处理 移动删除复制文件

win7系统自带forfiles程序,XP系统没有的话去网上下载一个,复制到c:\windows\system32下即可。命令: forfiles /p "F:\Book\PDF\A\C" /s /m *.pdf /d -7 /c "cmd /c move @path F:\Book\PDF" 将F:\Book\PDF\A\C下的,包括子目录,pdf文件,7天前的文件,移动到F:\Book\PDF...

weixin_34014555的博客 1538

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

forfiles命令批处理删除过期文件

命令格式: forfiles.exe /p "D:\备份" /s /m *.zip /d -7 /c "cmd /c del @path" /p:指定目录 /s:递归搜索子目录 /m:搜索“*.zip”文件来删除,默认是“*.*” /d:-7表示7天前的文件 /c:自行命令,后面双引号括起来的是删除文件命令 转载于:https://www.cnblogs.com/crxis/p/694...

weixin_30920853的博客 305

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

bat删除过期文件(FORFILES)

关键词:bat删除过期文件,bat,FORFILES 原文:https://blog.youkuaiyun.com/sandy9919/article/details/82932460 --最佳实践 :: IIS日志文件目录 set log_dir="C:\inetpub\logs\LogFiles" :: 保留日志天数 set bak_dat=15 :: 删除日志文件 f...

weixin_30369041的博客 651

批处理forfiles

批处理forfilesFORFILES[/Ppathname][/Msearchmask][/S] [/Ccommand][/D[+|-]{yyyy/MM/dd|dd}] 描述: 选择一个文件(或一组文件)并在那个文件上 执行一个命令。这有助于批处理作业。参数列表: /P pathname 表示...

weixin_34019144的博客 435

批处理实现自动删除过期文件的定期操作

执行后会在相同目录下生成日志文件:DelExpiredLog.log现实执行的起始时间点。@echo off rem write to log set filename=DelExpiredLog.log echo -------------------Delete Expired Log Files------------------------- >>%filename%...

angou6476的博客 355

批处理备份及删除,forfiles命令详解

<br />备份:<br />xcopy   //server/bak/*.*    d:/serverbak /s /e /v /c / d /y /h             <br />at 05:30 shutdown -s -f      <br />说明:<br />xcopy命令参数可以用xcopy/?查看<br />at 05:30 shutdown -s -f       表示5:30分自动关机<br /> <br />删除三天前的文件<br />forfiles /p i:/server

ltoper的专栏 2万+
上一篇: MySQL开启 general log
下一篇: mysql8 使用with as语法 ROW_NUMBER OVER
nb009网
博客等级 码龄18年 10粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值