有按照时间生成的文件名,现在需要按照分钟级别进行复制
比如说0424114702.txt 0424114803 .txt....按照每十分钟一次即11点40分这个点,04241140.txt 将所有这十分钟的说产生的所有文件进行一次性处理
现在准备用filecopy,但是由于每十分钟生成的文件数不一定,而且都精确到秒,不知道该如何填写这个命令。好像不可以用通配符???来编程,是把?
万分感谢!!!
[解决办法]
Public Function GetFileName(ByVal FileNameIn As String, ByRef FileNameOut() As String)
'查找与指定文件名匹配的文件,并将结果放在数组内
'FileNameIn - 指定文件名(支持通配符)
'FileNameOut() - 用于保存文件名的数组
Dim tmpI As String
ReDim FileNameOut(0)
tmpI = Dir(FileNameIn)
Do
Select Case tmpI
Case ". ", ".. " '本目录与上级目录不要
Case " " '为空就退出
Exit Do
Case Else '添加
ReDim Preserve FileNameOut(UBound(FileNameOut) + 1)
FileNameOut(UBound(FileNameOut)) = tmpI
Debug.Print tmpI
End Select
tmpI = " "
tmpI = Dir()
Loop
End Function
调用:
Dim I() As String
Call GetFileName( "D:\Temp\*.* ", I)
这个过程不支持子目录
如果想要连子目录下的文件也一起找,那么就把数组变量放在模块级,然后在函数里进行递归调用.