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

Copy ONLY recent by DateLastModified file over VbScript

VbScript 的新功能,因此请尽可能包括所有行。
我有 源文件夹 C:\s\ 包含名称为 et_v01.txt、et_v02.txt 等的文件。目标文件夹 C:\d\ 我只希望将最新文件从 S 复制到 D,即 et_v02 因为我们将使用 DateLastModified。

Bonus at destination 只保留最新文件,如果它在下次出现新版本时运行。提前致谢,我已经搜索过这个,但其他人没有符合标准等。

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

这里试试这个版本:

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

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