方法 : Visual Basic で特定のパターンに一致するファイルを検索する
更新 : 2007 年 11 月
My.Computer.FileSystem.GetFiles メソッド は、ファイルのパス名を表す文字列の読み取り専用のコレクションを返します。wildCards パラメータを使用して、特定のパターンを指定できます。サブディレクトリを検索対象に含めるには、searchType パラメータを SearchOption.SearchAllSubDirectories に設定します。
指定したパターンに一致するファイルが見つからなかった場合は、空のコレクションが戻ります。
特定のパターンに一致するファイルを検索するには
GetFiles メソッドを使用して、検索するディレクトリの名前とパス、およびパターンを指定します。次の例では、拡張子が .dll のすべてのファイルをディレクトリ内から取得し、ListBox1 に追加します。
For Each foundFile As String In My.Computer.FileSystem.GetFiles( _ My.Computer.FileSystem.SpecialDirectories.MyDocuments, _ FileIO.SearchOption.SearchAllSubDirectories, "*.dll") Listbox1.Items.Add(foundFile) Next
セキュリティ
次の条件を満たす場合は、例外が発生する可能性があります。
パスが無効である。1) 長さが 0 の文字列である、2) 空白だけが含まれている、3) 無効な文字が含まれている、4) デバイス パスである (\\.\ で開始されている)、のいずれかの理由が考えられる (ArgumentException)。
パスが Nothing であるため、有効でない (ArgumentNullException)。
directory が存在しない (DirectoryNotFoundException)。
directory は既存のファイルである (IOException)。
パスがシステムで定義されている最大長を越えている (PathTooLongException)。
パス内のファイル名またはフォルダ名にコロン (:) が含まれているか、または形式が無効である (NotSupportedException)。
ユーザーがパスを参照するのに必要なアクセス許可がない (SecurityException)。
ユーザーに必要なアクセス許可がない (UnauthorizedAccessException)。
参照
処理手順
方法 : Visual Basic で特定のパターンに一致するサブディレクトリを検索する
トラブルシューティング : テキスト ファイルの読み取りと書き込み
方法 : Visual Basic でディレクトリにあるファイルのコレクションを取得する