File 通过VbScript仅复制最近的by DateLastModified文件
VbScript新增,因此请尽可能包含所有行。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
我有 源文件夹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
此外,我还对代码进行了一些清理,以消除未使用的声明,并对变量应用更好的命名。如果您愿意,可以将这些作为建议,但请记住遵守约定很重要。不,堆栈溢出不是一种代码编写服务。请展示您的尝试,我们可能会在特定问题上帮助您。否则,此问题将被关闭。请在问题中输入代码,而不是在注释中。我继续并在问题中进行了编辑。很抱歉。