如果windows系统上有很多任务在运行,会产生大量的数据文件或者日志文件,而这些文件很占用磁盘空间,需要定时对其删除, 1、Windows 下bat脚本文件:deleteFile.bat @echo off1 |/ P5 ^7 E/ b- X3 I) W, h' [ G) j
set srcDir="F:\zyc\test"9 @& w0 L0 i+ y# _4 B- d
set daysAgo=152 e- t. a! j8 p' X9 B
forfiles /p %srcDir% /s /m *.* /d -%daysAgo% /c "cmd /c del @path" 也可删除指定的文件:删除数据文件*.dat @echo off9 s% \& m' B6 N% p$ P
set srcDir="F:\zyc\test"
* q+ t4 Z# K% U$ d7 h" ~set daysAgo=156 o% s5 @" E* B: |! }
forfiles /p %srcDir% /s /m *.dat /d -%daysAgo% /c "cmd /c del @path" 现在对其命令做一下解释: 3 S8 {7 D& N) ]0 g, w3 f
/p -- 指定的文件路径 /s -- 包括子目录 /m -- 查找的文件名,支持通配符*。 /d -- 指定日期,有绝对日期和相对日期, 此处-7指当前日期 的7天前 + \2 E! x2 D2 t+ S; t
/c -- 运行的命令行 表示为每个文件执行的命令。命令字符串应该 双引号括起来。 默认命令是 "cmd /c echo @file"。下列变量可以用在命令字符串中: @file -- 返回文件名。 @fname - -返回不带扩展名的文件名。 @ext - -只返回文件的扩展。 @path - -返回文件的完整路径。 @relpath -- 返回文件的相对路径。 @isdir -- 如果文件类型是目录,返回 "TRUE"; 如果是文件,返回 "FALSE"。 @fsize -- 以字节为单位返回文件大小。 @fdate - -返回文件上一次修改的日期。 @ftime - -返回文件上一次修改的时间。
# w, p! q6 U* s* }8 {$ j
$ @; N& Z. M% @0 |: R
9 Y7 y: l6 ^& J7 P2 s1 |0 p |