删除旧文件 2 有些例外的日子

我需要在文件夹中删除两天内的文件,除了最后一次修改的文件。 1 每个月的数字。 Forfiles 不支持例外。 操作系统 - Windows Server 2003. 有任何想法吗?

谢谢大家帮忙!
已邀请:

卫东

赞同来自:

我会说它将取决于您的熟人和舒适的编程语言 / 脚本。

例如,这里 PowerShell
http://www.networknet.nl/apps/ ... -days
. 我对品种更不漠不关心 Python, Perl (* nix / Linux), 和这样的东西会很简单 Python (
http://bytes.com/topic/python/ ... ctory
).

这两个例子都取自 Google.

PowerShell 删除旧文件

或者

python 删除旧文件

... 如果您想检查替代方案。

我不熟悉任何图形界面工具或快速定制工具,因为他们从未需要过。 在大多数情况下,您要求的一切,您可以编码少于内容 20 学期。

石油百科

赞同来自:

快速和脏 VBScript 在这里,如果文件指的是月的第1天,他建议英国的日期格式。 如果使用其他日期格式,请更改Trim命令以捕获相应的数字位置。 例如,美国的日期将 Mid (objFile.DateLastModified, 4, 2) = 01, 但不是 Left (objFile.DateLastModified, 2) = 01.

无论如何,抱歉脏代码 ... 但他应该帮助你。

strFolder = "C:\DeleteTest"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(strFolder)
Set colFiles = objFolder.Files
strDaysOld = 2
'Get files from target folder
For Each File in colFiles
set objFile = objFSO.GetFile(strFolder & "\" & File.Name)
'Enumerate last modified date/time and delete if older than 2 days but where the date doesn't start with '01'
If objFile.DateLastModified < (Date() - strDaysOld) AND NOT Left(objFile.DateLastModified, 2) = 01 Then
objFSO.DeleteFile objFile, true
End If
Next

要回复问题请先登录注册