【发布时间】:2023-03-14 14:30:01
【问题描述】:
如何通过DirectoryInfo类在文件名中查找特定范围内的字符串?
我只需要选择字符范围为 22 到 29 的“inscriz”文件
这是我的代码:
Public Sub SpostaFile(sourceDirectory As String, ByVal destDirectory As String)
Try
Dim from_date As DateTime = DateTime.Now.AddHours(-24)
Dim to_date As DateTime = DateTime.Now.AddHours(+24)
Try
Dim folder As New DirectoryInfo(sourceDirectory)
Dim pdfList = folder.EnumerateFiles("*.PDF").Where(Function(fi) fi.CreationTime >= from_date AndAlso fi.CreationTime <= to_date)
Dim xlsList = folder.EnumerateFiles("*.XLS").Where(Function(fi) fi.CreationTime >= from_date AndAlso fi.CreationTime <= to_date)
Dim xlsxList = folder.EnumerateFiles("*.XLSX").Where(Function(fi) fi.CreationTime >= from_date AndAlso fi.CreationTime <= to_date)
Dim csvList = folder.EnumerateFiles("*.csv").Where(Function(fi) fi.CreationTime >= from_date AndAlso fi.CreationTime <= to_date)
' Copy pdf files.
For Each file In pdfList
file.CopyTo(Path.Combine(destDirectory, file.Name))
Next
' Copy XLS files.
For Each file In xlsList
file.CopyTo(Path.Combine(destDirectory, file.Name))
Next
' Copy XLSX files.
For Each file In xlsxList
file.CopyTo(Path.Combine(destDirectory, file.Name))
Next
' Copy CSV files.
For Each file In csvList
file.CopyTo(Path.Combine(destDirectory, file.Name))
Next
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
【问题讨论】:
-
在前面加上 21 怎么样?在所需的字符串之前? ???..??inscriz*.pdf 或正则表达式。
-
似乎这里的明显路线是
Substring,并进行适当的长度检查以确保它至少足够长。
标签: vb.net directoryinfo