SSIS根据日期/时间和名称从文件夹中获取最新文件

时间:2017-04-25 10:36:13

标签: vbscript ssis

我有以下脚本从文件夹返回最新文件,但我有一个问题,即实际上同时创建了2个文件,我需要确保我只选择一个特定的1例如

文件1 =姓名"打开12345"

文件2 =姓名"关闭12345"

文件2是在文件1之后10秒创建的,所以它是最新的,但我需要忽略并且只检索文件1,并且只是为了在工作中抛出一个扳手,文件名后的数字是随机的,所以我需要只是仅在名称的第一部分匹配

目前使用的代码

 Public Sub Main()

    Dim recentFile
    Dim fi As System.IO.FileInfo
    Dim fis() As System.IO.FileInfo
    Dim dir As New System.IO.DirectoryInfo("\\Test Folder\")

    fis = dir.GetFiles()
    For Each fi In fis
        If (recentFile Is Nothing) Then
            recentFile = fi
        ElseIf (recentFile.LastWriteTime < fi.LastWriteTime) Then
            recentFile = fi
        End If
    Next

    recentFile.CopyTo("\\Test Folder\Import\Open.xls")
    '
    Dts.TaskResult = Dts.Results.Success
End Sub

帮助赞赏

1 个答案:

答案 0 :(得分:0)

认为我自己通过插入支票来回答

如果Mid(fi.Name,1,4)=“Open”,这可以是任何名称,只需调整长度(4)以匹配文本的长度进行比较

所以此部分变为

For Each fi In fis
 If Mid(fi.Name, 1, 4) = "Open" Then
    If (recentFile Is Nothing) Then
        recentFile = fi
    ElseIf (recentFile.LastWriteTime < fi.LastWriteTime) Then
        recentFile = fi
    End If
 end if
Next