VBScript-复制过去24小时内修改的文件
我正在尝试从上次修改日期在当前日期24小时内的目录复制文件。我在文件路径中使用通配符,因为它每天都在变化VBScript-复制过去24小时内修改的文件,vbscript,Vbscript,我正在尝试从上次修改日期在当前日期24小时内的目录复制文件。我在文件路径中使用通配符,因为它每天都在变化 option explicit dim fileSystem, folder, file dim path path = "d:\x\logs" Set fileSystem = CreateObject("Scripting.FileSystemObject") Set folder = fileSystem.GetFolder(path) for each file in fo
option explicit
dim fileSystem, folder, file
dim path
path = "d:\x\logs"
Set fileSystem = CreateObject("Scripting.FileSystemObject")
Set folder = fileSystem.GetFolder(path)
for each file in folder.Files
If DateDiff("d", file.DateLastModified, Now) < 1 Then
filesystem.CopyFile "d:\x\logs\apache_access_log-*", "d:\completed logs\"
WScript.Echo file.Name & " last modified at " & file.DateLastModified
end if
next
选项显式
dim文件系统、文件夹、文件
幽径
path=“d:\x\logs”
设置fileSystem=CreateObject(“Scripting.FileSystemObject”)
Set folder=fileSystem.GetFolder(路径)
对于文件夹.Files中的每个文件
如果DateDiff(“d”,file.DateLastModified,Now)<1,则
filesystem.CopyFile“d:\x\logs\apache\u access\u log-*”,“d:\completed logs\”
WScript.Echo file.Name&“上次修改时间”&file.DateLastModified
如果结束
下一个
不幸的是,这似乎复制了所有文件,而不仅仅是最近修改的文件。谁能给我指出正确的方向吗
非常感谢
马丁。怎么样:
filesystem.CopyFile "d:\x\logs\" & file.name, "d:\completed logs\"
如果任何文件满足
DateDiff
比较,则看起来您正在复制所有文件。将行更改为:
filesystem.CopyFile file, "d:\completed logs\"
当一个文件符合您的标准时,您正在复制目录中的每个文件brilliant,非常感谢您的帮助。我可以看出我现在哪里出错了。上面的代码可能会导致错误,因为file变量是file对象,而不是表示文件路径的字符串,这正是CopyFile方法所要查找的。VBS相当宽容。。。所以它可能会起作用,但我敢打赌它会导致错误。您可以使用文件对象“路径”属性快速修复此问题。filesystem.CopyFile.Path,“d:\completed logs\”