我有以下脚本从文件夹返回最新文件,但我有一个问题,即实际上同时创建了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
帮助赞赏
答案 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