forfiles 命令
例:forfiles /p "c: est" /s /m *.log /d -30 /c "cmd /c del @path /q /f"
删除 c: est及子目录下 所有log扩展名 修改时间在30天以前的文件
例:删除 c: est及子目录下 所有log扩展名 修改时间在30天以前的文件
set SrcDir=E:software
set DaysAgo=7
forfiles /p %SrcDir% /s /d -%DaysAgo% /c "cmd /c del /f /q /a @path && rd /s /q @path"
例:逻辑盘空间不足10G
@echo off
set vol=E
for /f "tokens=2* delims=:" %%a in ('fsutil volume diskfree %vol%:') do set free=%%a
set free=%free:~0,-6%
echo %free%
if %free% lss 10000 echo 这个逻辑盘空间不足10G
@path是forfiles命令中/c 参数变量
默认命令是 "cmd /c echo @file"。下列变量
可以用在命令字符串中:
@file - 返回文件名。
@fname - 返回不带扩展名的文件名。
@ext - 只返回文件的扩展。
@path - 返回文件的完整路径。
@relpath - 返回文件的相对路径。
@isdir - 如果文件类型是目录,返回 "TRUE";如果是文件,返回 "FALSE"。
@fsize - 以字节为单位返回文件大小。
@fdate - 返回文件上一次修改的日期。
@ftime - 返回文件上一次修改的时间。