2024年4月28日发(作者:)
dos 批处理命令(forfiles)
Windows Server 2003内置的命令行文件,不适合于XP系统
1. 用批处理文件删除当前目录下 7 天以前的扩展名为bkf文件(以当前系统时间为
基准)
示例: forfiles /m *.bkf /d -7 /c "cmd /c del @file /f"
2. forfiles 自动删除7天前文件 (以当前系统时间为基准)
示例: forfiles /p "d:test" /s /m *.* /d -7 /c "cmd /c del @path"
d:test换成你要的目录路径; /d -7 指删除7天以前文件。
3. 删除所有的空目录(以删除d:test目录下为例) :
dir /ad/b/s d:test |sort /r >d:
For /f "tokens=*" %%i in (d:) DO rd "%%i"
del d:
4. 先删7 天以前文件,再删所有的空目录 ;把以下复制到bat文件中。
@echo off
1
forfiles /p "d:test" /s /m *.* /d -7 /c "cmd /c del @path"
dir /ad/b/s d:test |sort /r >d:
For /f "tokens=*" %%i in (d:) DO rd "%%i"
del d:
5. forfiles 命令的用法及参数:
forfiles /p <目标目录名> /d <天数> /c <执行的命令>
/p 指定了要在哪个目录里查找文件,默认是当前工作目录。
/d 指定一个日期或天数,用于比较文件的最后修改日期是否符合条件。
/c 对每个找到的文件执行的命令。
例1.要把在C盘根目录下最后修改日期大于或等于2010年1月7日的文件复制到D
盘根目录下:
forfiles /p "c:" /d "2007-7-1" /c "cmd /c copy @path d:"
例2.删除在C盘backup目录下最后修改日期在10天前的文件:
forfiles /p "c:backup" /d -10 /c "cmd /c echo deleting @file ... && del /f
2
发布评论