说明
- 本文内容:使用 bat(批处理命令)脚本 以及 Windows自带的定时任务程序 实现定时器任务功能,本文还是以 删除项目中的临时文件、文件夹 为例,逐步实现该例子;
- 系统版本:Windows10;
- 临时文件夹的路径:D:\delete,本脚本运行后,会打印出指定的临时目录下所有的文件名或文件夹名,但其孙目录不会被打印出来;
- 欢迎留言讨论,相互提升。
脚本代码
delTask.bat(请忽略大小写)
@echo off
@echo 定时任务删除临时文件、文件夹
@echo delete start:
FORFILES /P "D:\delete" /D 0 /C "cmd /C echo deleted @file ... && IF @ISDIR == TRUE (RD /S /Q @path) ELSE (DEL /F @path)"
@echo end
pause
脚本说明
- FORFILES 命令参数:
/p 指定搜索的路径(不指定则默认当前目录);
/d 指定日期,有绝对日期和相对日期, 此处 0 指当前日期;
/c 运行的命令行,表示为遍历的每个文件都执行的命令(命令字符串应使用双引号括起来);
- /C 命令参数:
默认命令是 "cmd /c echo @file";
下列是可搭配的变量:
@file 返回文件名;
@fname 返回不带扩展名的文件名;
@ext 只返回文件的扩展;
@path 返回文件的完整路径;
@relpath 返回文件的相对路径;
@isdir 如果文件类型是目录,返回"TRUE";如果是文件,返回"FALSE";
@fsize 以字节为单位返回文件大小;
@fdate 返回文件上一次修改的日期;
@ftime 返回文件上一次修改的时间;
- RD 命令参数:
/s 删除目录树,即删除目录及目录下的所有子目录和文件;
/q 安静模式,即取消删除操作时的系统确认;
- DEL 命令参数:
/f 可强制删除只读文件;
创建Windows定时任务
- 右击“ 我的电脑 ”——点击“ 管理 ”——找到“ 任务计划程序 ”——点击或右击“ 任务计划程序库 ”——点击“ 创建任务 ”;
- 设置各属性如下(如链接失效请告知):
Windows 启动定时任务