根据文件创建日期从源位置复制文件到目标位置






1.91/5 (14投票s)
根据文件创建日期将文件从源位置复制到目标位置。
引言
本文介绍如何基于文件创建日期,将文件逐个从源位置复制到目标位置。该程序将复制在截止日期之后创建的文件。
背景
这是我从客户那里得到的一个需求。我没有找到任何相关的优秀文章,所以我决定写一篇,希望能对其他人有所帮助。
使用代码
在这个应用程序中,我使用 FileSystemObject
对象来访问服务器上的文件系统。首先,我们需要获取文件夹对象。我们可以使用 GetFolder
方法获取指定源路径的文件夹对象。一旦我们获得了文件夹对象,就可以逐个获取文件。我们可以使用以下语句来获取文件夹对象
Set lstFileDet = objFSO.GetFolder(strSourcePath)
在上面的语句中,objFSO
是 FileSystemObject
对象。 strSourcePath
包含指向源文件夹的路径(例如 "C:\Jans\Source\" )。lstFileDet 包含指定路径的文件夹对象。
下一步是检查源位置中每个文件的创建日期。我们可以使用以下语句来完成此操作
i = 0
For Each fileDet In lstFileDet.Files
If fileDet.DateCreated > dteFileDate Then
lstFiles(i) = fileDet.Name
i = i + 1
End If
Next
在 For 循环中,我们逐个访问文件。在循环内部,我们将文件创建日期与截止日期(dteFileDate
包含截止日期)进行比较。如果文件是在截止日期之后创建的,则将文件名存储到数组中。
现在我们有一个包含从源路径选择的所有文件的数组。下一步是将数组中所有文件复制到目标位置。要将文件从一个位置复制到另一个位置,我们可以使用 CopyFile
方法。我们可以使用以下语句来完成此操作
objFSO.CopyFile strSourcePath & lstFile(i), strTargetPath & lstFile(i), True
在上面的语句中,objFSO
是 FileSystemObject
对象。 strSourcePath
包含指向源文件夹的路径(例如 "C:\Jans\Source\" )。 strTargetPath
包含指向目标文件夹的路径(例如 "C:\Jans\Target\" )。 lstFile(i)
包含文件名,其中 lstFile
是一个包含文件名列表的数组。我们可以使用 for 循环逐个从数组 lstFile
获取文件名。最后的 True 允许覆盖目标位置中已存在的文件。
在应用程序中,我们需要检查源文件夹和目标文件夹是否存在,我们可以使用 FolderExists
方法来完成此操作。此方法返回一个布尔值,指示指定的文件夹是否存在。如果文件夹存在,则返回 True
,如果不存在,则返回 False
。我们可以使用以下语句来检查源文件夹是否存在
objFSO.FolderExists(strSourcePath)
在上面的语句中,objFSO
是 FileSystemObject
对象。 strSourcePath
包含指向源文件夹的路径(例如 "C:\Jans\Source\" )。
请参阅附件中的 VB.6 代码以获取更多详细信息