我正在使用函数获取扩展名为txt
的可执行文件路径中的文件路径。
Dim FileEntries as string() = _
Directory.GetFiles(Path.GetDirectoryName(Application.ExecutablePath), "*txt"
但是现在我发现使用没有txt扩展名的文件会更好,尽管事实上我可以使用记事本来改变行。
如何使用此功能获取仅没有扩展名的文件?
如果我只使用"*"
,它会获得除扩展名之外的所有文件。谢谢!
- 编辑 -
我想避免任何它不应该在路径中的文件。我只想收集没有扩展名的文件,因此避免使用任何其他文件。如果以某种方式创建了一个文件,任何扩展名,我想避免它。
答案 0 :(得分:4)
您可以使用LINQ:
Dim nonTxtFiles =
From fn In Directory.EnumerateFiles(Path.GetDirectoryName(Application.ExecutablePath))
Where Not String.Equals(Path.GetExtension(fn), ".txt", Stringcomparison.InvariantCultureIgnoreCase)
Dim FileEntries as string() = nonTxtFiles.ToArray()
如果您只想要没有扩展名的文件(您已编辑过您的问题),那就很简单了:
Dim noExtFiles = From fn In Directory.EnumerateFiles(path)
Where String.IsNullOrEmpty(IO.Path.GetExtension(fn))
答案 1 :(得分:2)
Linq的另一个解决方案是使用Path.GetExtension()
方法查看文件是否有扩展名:
Sub Main
Dim files = getFilenamesWithNoExtension("C:\SomeFolder")
End Sub
Private Function getFilenamesWithNoExtension(foldertosearch As String) As String()
Dim result As String()
result = Directory.EnumerateFiles(foldertosearch).Where(Function(f) String.IsNullOrEmpty(Path.GetExtension(f))).ToArray()
Return result
End Function