仅通过VbScript上的DateLastModified文件复制最近

时间:2015-04-10 16:05:56

标签: file vbscript copy last-modified

VbScript上的新内容如果可以,请包括所有行。
我有 源文件夹C:\ s \,文件名为et_v01.txt,et_v02.txt等。目标文件夹C:\ d \我只希望最新文件从S到D复制,这将是et_v02,因为我们&#39 ; ll使用DateLastModified。

目的地的奖励只保留最新文件,如果它在新版本进入下次时运行。感谢提前,我搜索了这个,但其他人的标准等等。

Option Explicit
Dim objFSO : Set objFSO = CreateObject("Scripting.FileSystemObject")
Dim objSTR, objEND, objTYP, objEXT, objKEY, objFILE
Dim Folder, SubFolder

objSTR = "C:\s\"
objEND = "C:\d\"

For Each objFILE in objFSO.GetFolder(objSTR).Files
 If objFILE.DateLastModified > DateAdd("d",-4,now) then
     objFILE.Copy objEND
 End If
Next

1 个答案:

答案 0 :(得分:1)

在这里尝试这个版本:

Option Explicit
Dim objFSO : Set objFSO = CreateObject("Scripting.FileSystemObject")
Dim strSource, strDestination

strSource = "C:\s\"
strDestination = "C:\d\"
Dim objFile, objOldestFileSoFar

For Each objFile in objFSO.GetFolder(strSource).Files
    If Not IsEmpty(objOldestFileSoFar) Then
        If objFile.DateLastModified > objOldestFileSoFar.DateLastModified Then
            Set objOldestFileSoFar = objFile
        End If
    Else 'This is the first loop, i.e. we have no previous "last mod" to compare against.
        Set objOldestFileSoFar = objFile
    End If
Next

objOldestFileSoFar.Copy strDestination

此外,我已经清理了一些代码,以清除未使用的声明并为变量应用更好的命名。如果您愿意,可以将这些作为建议,但请记住,遵守惯例非常重要。