所以我知道在下面的代码示例中,它检查文件是否存在(完整文件名)...
If My.Computer.FileSystem.FileExists("C:\Temp\Test.cfg") Then
MsgBox("File found.")
Else
MsgBox("File not found.")
End If
...但是如果文件的一部分存在呢?文件没有标准的命名约定,但它们总是具有.cfg扩展名。
所以我想检查C:\ Temp是否包含* .cfg文件,如果它存在,做一些事情,否则做其他事情。
答案 0 :(得分:13)
*
char可用于定义简单的过滤模式。例如,如果您使用*abc*
,它将查找名称中包含“abc”的文件。
Dim paths() As String = IO.Directory.GetFiles("C:\Temp\", "*.cfg")
If paths.Length > 0 Then 'if at least one file is found do something
'do something
End If
答案 1 :(得分:1)
您可以将FileSystem.Dir与通配符一起使用,以查看是否存在文件匹配。
来自MSDN
Dim MyFile, MyPath, MyName As String
' Returns "WIN.INI" if it exists.
MyFile = Dir("C:\WINDOWS\WIN.INI")
' Returns filename with specified extension. If more than one *.INI
' file exists, the first file found is returned.
MyFile = Dir("C:\WINDOWS\*.INI")
' Call Dir again without arguments to return the next *.INI file in the
' same directory.
MyFile = Dir()
' Return first *.TXT file, including files with a set hidden attribute.
MyFile = Dir("*.TXT", vbHidden)
' Display the names in C:\ that represent directories.
MyPath = "c:\" ' Set the path.
MyName = Dir(MyPath, vbDirectory) ' Retrieve the first entry.
Do While MyName <> "" ' Start the loop.
' Use bitwise comparison to make sure MyName is a directory.
If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then
' Display entry only if it's a directory.
MsgBox(MyName)
End If
MyName = Dir() ' Get next entry.
Loop
答案 2 :(得分:0)
您可以使用System.IO中的Path.GetExtension获取扩展名并测试它是否是您正在寻找的扩展名&#34; .cfg&#34;。如果没有扩展名,Path.GetExtension将返回一个空字符串。
来自MSDN