- ベストアンサー
フォルダの存在を調べる方法について
- 以下の質問文章では、特定の条件に合うフォルダが存在するかを調べる方法について質問しています。
- 具体的には、指定したフォルダ内に、特定の文字列で始まるフォルダが存在するかを判定したいとのことです。
- 質問者は、System.IO.Directory.Existsメソッドを使用しましたが、ワイルドカード「*」は使用できないためうまく動作しませんでした。代替の方法を教えて欲しいとのことです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 VB6なら以下の方法で、出来ると思いますが・・・ If Dir("c:\a\f0004*", vbDirectory) <> "" Then MsgBox ("ある") Else MsgBox ("ない") End If
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
サブフォルダーを含まない場合では Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim folder folder = "C:\Documents and Settings\XXXX\My Documents\" Dim searchPattern searchPattern = "01化*.xls" Dim files As ArrayList Dim fs As String() = System.IO.Directory.GetFiles(folder, searchPattern) 'ArrayListに追加する Dim k As Integer For k = 0 To fs.Length - 1 MessageBox.Show(fs(k)) Next End Sub でボタンのクリックイベントにしてます。 私の場合上記フォルダ内に 01化.xls 01化B.xls 01化C.xls の3つがありますが、3つともが表示されました。 ワイルドカードが使えるようです。 http://dobon.net/vb/dotnet/file/getfiles.html の「NET Framework 1.1以前」を参考にしました。 その他(NET Framework 2.0以降該当なら)も見てください。
お礼
詳しく解説までありがとうございました!
- chibita_papa
- ベストアンサー率60% (127/209)
Dim blnExist As Boolean = False For Each strPath As String In My.Computer.FileSystem.GetDirectories("c:\a\", FileIO.SearchOption.SearchTopLevelOnly, "f0004*") Console.WriteLine(strPath) blnExist = True Exit For Next strPath If blnExist Then MsgBox("ある") Else MsgBox("ない") End If どうでしょうか
お礼
早々の回答ありがとうございました!
お礼
めちゃめちゃ簡単にできました! 助かりました! ありがとうございました。