如果windows系统上有很多任务在运行,会产生大量的数据文件或者日志文件,而这些文件很占用磁盘空间,需要定时对其删除, 1、Windows 下bat脚本文件:deleteFile.bat @echo off
3 B/ V( i8 a3 N9 i( ?7 @5 F6 xset srcDir="F:\zyc\test" F5 K6 x6 B# h v$ V) W, g+ w
set daysAgo=15
/ U/ c% E9 o, M! C) K ?forfiles /p %srcDir% /s /m *.* /d -%daysAgo% /c "cmd /c del @path" 也可删除指定的文件:删除数据文件*.dat @echo off, f0 N0 m6 g( o, ]& X* `
set srcDir="F:\zyc\test"
: C2 ^+ F+ s7 w7 p2 @set daysAgo=158 u; H" }+ s. Q- d4 i' x
forfiles /p %srcDir% /s /m *.dat /d -%daysAgo% /c "cmd /c del @path" 现在对其命令做一下解释: + I7 n0 `+ A% p# e- j
/p -- 指定的文件路径 /s -- 包括子目录 /m -- 查找的文件名,支持通配符*。 /d -- 指定日期,有绝对日期和相对日期, 此处-7指当前日期 的7天前 1 Y- H, t) s! E
/c -- 运行的命令行 表示为每个文件执行的命令。命令字符串应该 双引号括起来。 默认命令是 "cmd /c echo @file"。下列变量可以用在命令字符串中: @file -- 返回文件名。 @fname - -返回不带扩展名的文件名。 @ext - -只返回文件的扩展。 @path - -返回文件的完整路径。 @relpath -- 返回文件的相对路径。 @isdir -- 如果文件类型是目录,返回 "TRUE"; 如果是文件,返回 "FALSE"。 @fsize -- 以字节为单位返回文件大小。 @fdate - -返回文件上一次修改的日期。 @ftime - -返回文件上一次修改的时间。
8 X1 P; k$ o# B0 Q
$ U0 h5 g5 h* h$ |4 ^6 S
1 t5 \0 D7 K9 z' D f7 r |