我想设置一个自动任务,自动从特定文件夹中删除超过 X 天的文件。我更希望无需安装任何第三方软件即可完成此操作,但如果它是一个非常小巧且简单的实用程序,我也可以接受。
我希望这能迫使我保持文件有序。我将浏览器设置为下载到标准文件夹,然后使用此脚本自动删除超过一周的文件,我将被迫移动和组织我想要保留的下载文件。
答案1
答案2
使用 Windows Scripting Host 可以很容易地完成此操作。示例脚本如下所示:
numDays = 7
Set objfso = CreateObject("Scripting.FileSystemObject")
Set objFile = objFso.GetFile("C:\test.txt")
Sub DeleteOldFile(objFile, numDays)
dateFile = objFile.DateLastModified
dateToday = Now()
If dateFile <= dateToday Then
daysOld = dateToday - dateFile
If daysOld > numDays Then
objFile.Delete
End If
Else
WScript.Echo "Incorrect date stamp in", strFile
End If
End Sub
您需要编写脚本,然后将其作为计划任务运行。也许在周五早上登录后三十分钟,给自己最后一次机会来移动那些想要保留的文件。完整的来源对于这个例子。
答案3
不久前,我为自己编写了一个解决方案,然后才发现德尔奥尔德。 它是非常这个小工具可以完全满足您的需要,并且可以作为 .jar 文件、包装的 java 可执行文件、Visual Basic 可执行文件(需要 MSVBVM60.DLL)以及源代码使用。
只需提供 2 个命令行参数 - 文件夹路径和文件应被删除的天数。它也可以通过任务计划程序通过批处理脚本运行。
例子:
DelOld.exe“C:\下载”30
这将删除 下所有超过 30 天的文件C:\Downloads
。
答案4
有一个名为 forfiles 的 Windows 命令。我认为它位于 Windows 2000 资源工具包中。我在 petri 的网站上找到了它的链接:http://www.petri.co.il/download_free_reskit_tools.htm 它有很多功能可供您使用,包括根据文件存在的时间长短删除单个文件或删除整个目录。