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

File 通过VbScript仅复制最近的by DateLastModified文件,file,vbscript,copy,last-modified,File,Vbscript,Copy,Last Modified,VbScript新增,因此请尽可能包含所有行。 我有 源文件夹C:\s\包含名为et_v01.txt、et_v02.txt等的文件。目标文件夹C:\d\n我只希望将最新文件从s复制到d,该文件将为et_v02,因为我们将使用DateLastModified 目的地奖励仅保留最新文件(如果下次新版本出现时运行)。提前感谢,我已经搜索过了,但是其他人的搜索条件不到,等等 Option Explicit Dim objFSO : Set objFSO = CreateObject("Scripting

VbScript新增,因此请尽可能包含所有行。
我有 源文件夹C:\s\包含名为et_v01.txt、et_v02.txt等的文件。目标文件夹C:\d\n我只希望将最新文件从s复制到d,该文件将为et_v02,因为我们将使用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
请尝试以下版本:

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

此外,我还对代码进行了一些清理,以消除未使用的声明,并对变量应用更好的命名。如果您愿意,可以将这些作为建议,但请记住遵守约定很重要。

不,堆栈溢出不是一种代码编写服务。请展示您的尝试,我们可能会在特定问题上帮助您。否则,此问题将被关闭。请在问题中输入代码,而不是在注释中。我继续并在问题中进行了编辑。很抱歉。