65.9K
CodeProject 正在变化。 阅读更多。
Home

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

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.91/5 (14投票s)

2008年7月22日

CPOL

2分钟阅读

viewsIcon

38847

downloadIcon

599

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

引言

本文介绍如何基于文件创建日期,将文件逐个从源位置复制到目标位置。该程序将复制在截止日期之后创建的文件。

背景

这是我从客户那里得到的一个需求。我没有找到任何相关的优秀文章,所以我决定写一篇,希望能对其他人有所帮助。

使用代码

在这个应用程序中,我使用 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 代码以获取更多详细信息

© . All rights reserved.