【发布时间】:2019-03-30 15:17:28
【问题描述】:
我正在寻找编写一个 VB 脚本来整理文件夹。规则是:
- 检查今天是否有任何文件被更改
- 如果今天至少更改了一个文件,请将 2 天前最后更改的所有文件移至另一个文件夹
这是我目前所拥有的:
strFolder = "c:\testdelete"
objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(strFolder)
Set colFiles = objFolder.Files
For Each objFile In colFiles
If DateDiff("N",objFile.DateLastModified,Now()) > 4320 Then
objFSO.DeleteFile(objFile),True End if Next
但这不起作用。
【问题讨论】:
-
添加任何代码都会很有帮助。提出问题而不尝试解决问题并不是一个好政策:stackoverflow.com/questions/how-to-ask
-
我的错。这是我必须开始的。它将删除文件夹中比指定日期更早的文件,但我不是 VBS 人,才刚刚开始。
strFolder = "c:\testdelete" : Rem change the path Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFolder = objFSO.GetFolder(strFolder) Set colFiles = objFolder.Files For Each objFile In colFiles If DateDiff("N",objFile.DateLastModified,Now()) > 4320 Then objFSO.DeleteFile(objFile),True End if Next -
调试应用程序并查看是否相应地填充了值。您是否有任何错误,哪一行与您的期望不符。是
objFSO,colFiles。逐行检查您的第一个问题是在哪里遇到的。 -
上面的代码可以删除早于 4320 分钟的文件,但我需要包含一个条件,首先检查文件夹中是否有日期为“今天”的文件,然后移动早于 2 天的文件到另一个文件夹。我不知道如何包含条件语句或移动文件与删除文件的正确语法。非常感谢您的帮助。