Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 写入批处理文件以删除所有文件_Batch File - Fatal编程技术网

Batch file 写入批处理文件以删除所有文件

Batch file 写入批处理文件以删除所有文件,batch-file,Batch File,有人能告诉我如何编写一个批处理文件,以便附加到一个计划任务,该任务将删除超过2周的IIS日志。您可以使用作为示例。 (摘自“”博客帖子) 以下示例删除了所有名为“ex*.log”的文件,这些文件是在1年(365天)前最后一次修改的。起始目录是C:\Windows\System32\LogFiles: 以下示例搜索C:\Windows中的所有子目录,并删除60天前最后一次修改的所有名为“dump.txt”的文件: 从那里,您可以安排该批次,确保。 例如,请参见“在批处理文件中使用”: forfi

有人能告诉我如何编写一个批处理文件,以便附加到一个计划任务,该任务将删除超过2周的IIS日志。

您可以使用作为示例。
(摘自“”博客帖子)

以下示例删除了所有名为“
ex*.log
”的文件,这些文件是在1年(365天)前最后一次修改的。起始目录是
C:\Windows\System32\LogFiles

以下示例搜索
C:\Windows
中的所有子目录,并删除60天前最后一次修改的所有名为“
dump.txt
”的文件:


从那里,您可以安排该批次,确保。
例如,请参见“在批处理文件中使用”:

forfiles -p C:\WINDOWS\system32\LogFiles\W3SVC1 -s -m *.log -d -14 -c "Cmd /C DEL @File"
命令行参数说明:

-d -14                                   //  Specifies num days (14 for 2 weeks)
-p C:\WINDOWS\system32\LogFiles\W3SVC1   // path
-m *.log                                 // file mask
你可以在我的帖子中的technet链接中找到所有内容

您需要安装一个Win server资源工具包,如


/D日期选择上次修改日期大于或

的文件,具体是哪部分有问题?这应该会有所帮助。如果您的意思是实际编写文件,只需使用记事本或任何其他文本编辑器,并将其保存为.bat或在完成后重命名即可。如果您需要这些内容,请参阅下面VonC的帖子。在设计此类内容时,请非常小心意外行为。例如,确保它只能对您希望它清理的目录和文件进行操作。我曾经有一次系统升级非常糟糕,就在我们出去吃饭的时候,有人将他最喜欢的“日志文件清理器”脚本添加到crontab(它是Unix)。第二天早上,原本应该cd到用户个人临时目录的“cd”命令失败,因为临时目录还不存在。因此,它开始递归地删除超过2周的文件,从根开始。这是漫长的一天。@Chris:谢谢你的警告,Chris。这在Windows XP下不起作用。@Braveyard:请参阅我的编辑。你需要资源工具包。可以是Win2k3或更高版本。如果您的计算机上默认未安装forfiles,请从获取。将其放在C:\WINDOWS\system32\forfiles.exeCan,您还可以写下接受日期和路径作为参数的参数。非常感谢。编辑了我的答案。请检查technet链接,该链接详细解释了所有参数。这似乎在windows XP下不起作用。
forfiles -p C:\WINDOWS\system32\LogFiles\W3SVC1 -s -m *.log -d -14 -c "Cmd /C DEL @File"
-d -14                                   //  Specifies num days (14 for 2 weeks)
-p C:\WINDOWS\system32\LogFiles\W3SVC1   // path
-m *.log                                 // file mask
forfiles -p "C:\what\ever" -s -m *.* -d <number of days> -c "cmd /c del @path"
            The Command variables listed below can also be used in the
            command string.