Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBScript-复制过去24小时内修改的文件_Vbscript - Fatal编程技术网

VBScript-复制过去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

我正在尝试从上次修改日期在当前日期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 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\”