Loading

批处理

1.删除N天前的文件

删除6天前的文件,并删除空文件夹
forfiles /p "d:\test" /s /m *.* /d -6 /c "cmd /c del @path"
dir /ad/b/s d:\test\ |sort /r >d:\kill.txt
For /f "tokens=*" %%i in (d:\kill.txt) DO rd "%%i"
del d:\kill.txt

/p 指定了要在哪个目录里查找文件,默认是当前工作目录。

/s 递归到子目录

/m <SearchMask> : 文件查找所使用的通配符如代码中的"*.log"则为所有日志文件,当然也可以指定诸如"manmee_*.log"这样以manmee开头的所有日志文件。如果不指定此参数则默认为"*.*"。

/d [{+|-}][{<Date>|<Days>}] : 指定想选择文件的最后修改时间,上文中用了 "/d -7" 表示所有以当天为基础,7天以前的文件。当然这里还可以指定具体时间,例如:"/d -08/18/2009"这样所有早于2009年8月18日的文件。注意指定的时间必须是"MM/DD/YYYY"的格式。

/c 对每个找到的文件执行的命令。

@path : 表示文件的完整的路径

/ad 表示列出所有目录

 /b”表示只列出文件夹名称而不显示标题信息或摘要

/s”表示搜索,即查找D盘中的所有文件夹和子文件夹;
“/r”表示逆序列排序。
RD命令的作用是删除由For命令传递过来的每一个文件夹,因RD命令无法删除尚有内容的文件夹

 2.动态的输出年月日;如20160427

echo  %date:~0,4%%date:~5,2%%date:~8,2%

 


posted @ 2016-04-26 21:58  头痛不头痛  阅读(367)  评论(0编辑  收藏  举报