可能重复:
Batch file to delete files older than N days编写一个批处理文件来删除所有文件
有人可以告诉我怎么写,我可以附加到一个预定的任务,将批量删除文件IIS日志超过2周。
我正在使用Windows XP。
谢谢。
可能重复:
Batch file to delete files older than N days编写一个批处理文件来删除所有文件
有人可以告诉我怎么写,我可以附加到一个预定的任务,将批量删除文件IIS日志超过2周。
我正在使用Windows XP。
谢谢。
使用forFiles在批处理文件:
forfiles -p C:\WINDOWS\system32\LogFiles\W3SVC1 -s -m *.log -d -14 -c "Cmd /C DEL @File"
命令行PARAMS解释说:
-d -14 // Specifies num days (14 for 2 weeks)
-p C:\WINDOWS\system32\LogFiles\W3SVC1 // path
-m *.log // file mask
你可以找到所有在我的岗位在TechNet链接。
你需要安装一个双赢服务器资源工具包,如Windows Server 2003 Resource Kit Tools
您可以使用script deleteoldfiles.bat作为示例。
(摘自“How to Delete Old IIS Log Files”的博客文章)
下面的示例删除命名的最后一次修改了以前1年(365天)“
ex*.log
”的所有文件。起始目录是C:\Windows\System32\LogFiles
:
deleteoldfiles.bat C:\Windows\System32\LogFiles ex*.log 365
下面的示例搜索所有子目录中
C:\Windows
,并删除所有文件名为“dump.txt
”这是最后的60天前修改:
deleteoldfiles.bat C:\Windows dump.txt 60
从那里,你可以安排该批次,确保o f the arguments and their enclosing quotes aren't an issue。
例如见 “How to use the Windows Task Scheduler”。
forfiles -p "C:\what\ever" -s -m *.* -d <number of days> -c "cmd /c del @path"
语法 FORFILES [/ P路径] [/ M面膜] [/ S] [/ c命令] [/ d [+ | - ] {dd/MM/yyyy | DD}]
密钥 /P路径的路径搜索(缺省值=当前文件夹)
/s的递归到子文件夹
/C命令来对每个文件执行的命令。 将命令字符串用双引号括起来。 默认值=“CMD/C回声@file”
The Command variables listed below can also be used in the
command string.
/d日期排序,最后修改日期选择文件大于或
看来这不适用于Windows XP。 – Tarik
你遇到的麻烦,此部分,特别是? –
这应该有所帮助。 http://stackoverflow.com/questions/51054/batch-file-to-delete-files-older-than-n-days –
如果你的意思是实际上写文件,只需使用记事本或任何其他文本编辑器并将其保存为.bat或完成后重命名。如果你需要的内容,请参阅下面的VonC的帖子。 – Kevin