如果要根据上次修改日期覆盖,则 File 对象具有所需的属性: DateLastModified . (您可以检查 File 对象的所有属性here . )
您已经可以访问源文件对象(代码的 Photo 变量),因此您只需要获取目标的文件对象 .
这样的事情应该有效:
Dim Photo
Dim targetFile, bmpTargetFilename, jpgTargetFilename
SourceFolder = "C:\Photo1"
DistinationFolder = "C:\Photo2"
Set ObjPhoto = CreateObject("Scripting.FileSystemObject")
For Each Photo In ObjPhoto.GetFolder(SourceFolder).Files
bmpTargetFilename = ObjPhoto.BuildPath(DistinationFolder, Replace(Photo.Name, ".jpg", ".bmp"))
jpgTargetFilename = ObjPhoto.BuildPath(DistinationFolder, Photo.Name)
If ObjPhoto.FileExists(bmpTargetFilename) Then
' Get the target file object
Set targetFile = ObjPhoto.GetFile(jpgTargetFilename)
' Now compare the last modified dates of both files
If Photo.DateLastModified > targetFile.DateLastModified Then
Photo.Copy jpgTargetFilename, True
End If
Else
Photo.Copy jpgTargetFilename, True
End If
Next
几个笔记:
看来你正在检查是否存在.BMP文件而复制.JPG文件,所以我通过使用两个变量使它明确 .
我还假设你要比较JPG文件,因为那些是被复制的文件 .