我需要删除一个文件夹内两天以上的文件,除了上次修改每个月的第一个文件。 Forfiles不支持exception。 操作系统是Windows Server 2003的。任何想法?
谢谢大家的帮助!
这里VBScript快速而肮脏,它假定英国date格式用于枚举文件是否从本月1日开始。 如果您使用不同的date格式,则更改修剪命令以获取适当的数字位置。 例如,美国的date是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
我会说这将取决于你对编程/脚本语言的熟悉程度和舒适度。
例如,这是一个PowerShell的例子 。 我对Python,Perl(* nix / Linux)的变种稍微偏向一些,在Python( 例子 )中,这很容易。
这两个例子都来自谷歌删除超过比 python删除文件或python删除文件早于 …如果你想检查替代品。
我不熟悉任何GUI工具或快速设置工具,因为我从来没有真正需要它们。 在大多数情况下,您所要求的所有内容都可以用不到20行的代码进行编码。