请求编写批处理文件删除指定前缀的10天以上旧文件及学习资源建议
解决Batch脚本删除指定前缀旧文件的问题
嘿,作为Batch新手,这个需求其实很好实现,用Windows自带的forfiles命令就能搞定,比手动处理日期要靠谱得多。下面是给你写好的批处理脚本,还有详细注释:
@echo off REM 启用本地环境变量隔离,避免影响系统全局变量 setlocal enabledelayedexpansion REM 核心命令:筛选并删除目标文件 REM /p 可选:指定文件所在目录,默认当前目录,需更换路径可写成 /p "C:\Your\Target\Folder" REM /m 指定文件匹配规则:仅处理以ABC_开头的CSV文件 REM /d -10 筛选最后修改时间超过10天的文件(数字可按需调整) REM /c 执行删除命令,@path代表找到的文件完整路径,避免文件名含空格时出错 forfiles /m ABC_*.CSV /d -10 /c "cmd /c del @path" REM 可选提示:执行完成后给出反馈 echo 已完成超过10天的ABC_开头CSV文件删除操作。 endlocal pause
脚本说明:
- 如果你的文件不在当前脚本运行目录,一定要加上
/p "你的文件夹路径"参数,避免误删其他文件 /d -10中的数字可以按需修改,比如改成-7就是删除7天前的文件- 若想先预览要删除的文件(避免误删),可以把
del @path改成echo @path,先查看筛选结果再执行真正的删除
实用Batch脚本学习资源推荐
- Stack Overflow的Batch标签区:这里有海量实际问题和解决方案,遇到问题搜一搜,大部分常见需求都能找到现成答案,很多回答还会详细拆解原理,适合边练边学
- Microsoft官方命令行文档:Windows自带命令(比如
forfiles、set、if这些)的官方说明是最权威的,能帮你精准理解每个命令的参数和用法 - 入门级Batch教程系列:网上有不少口碑不错的入门教程,从变量、循环、条件判断这些基础知识点讲起,逐步深入到复杂脚本编写,能帮你快速建立Batch脚本的知识框架
内容的提问来源于stack exchange,提问作者Thiru
相关产品推荐
相关产品推荐

