My.Computer.FileSystem.FindInFiles メソッド

更新 : 2007 年 11 月

ファイル名を表し、指定されたテキストが含まれる文字列を、読み取り専用のコレクションとして返します。

' Usage
Dim value As System.Collections.ObjectModel.ReadOnlyCollection(Of String) = My.Computer.FileSystem.FindInFiles(directory ,containsText ,ignoreCase ,searchType)
Dim value As System.Collections.ObjectModel.ReadOnlyCollection(Of String) = My.Computer.FileSystem.FindInFiles(directory ,containsText ,ignoreCase ,searchType ,fileWildcards)
' Declaration
Public Function FindInFiles( _
   ByVal directory As String, _
   ByVal containsText As String, _
   ByVal ignoreCase As Boolean, _
   ByVal searchType As SearchOption _
) As System.Collections.ObjectModel.ReadOnlyCollection(Of String)
' -or-
Public Function FindInFiles( _
   ByVal directory As String, _
   ByVal containsText As String, _
   ByVal ignoreCase As Boolean, _
   ByVal searchType As SearchOption, _
   ByVal fileWildcards As String() _
) As System.Collections.ObjectModel.ReadOnlyCollection(Of String)

パラメータ

  • Directory
    検索するディレクトリを指定する String です。必ず指定します。

  • containsText
    検索文字列を指定する String です。必ず指定します。

  • ignoreCase
    大文字と小文字を区別して検索するかどうかを指定する Boolean です。既定値は True です。必ず指定します。

  • searchType
    SearchOption 列挙型 です。サブフォルダを含めるかどうかを指定します。既定値は SearchOption.SearchTopLevelOnly です。必ず指定します。

  • fileWildcards
    String 型の配列です。一致を調べるパターンです。必ず指定します。

戻り値

String 型の読み取り専用のコレクションです。

例外

次の条件を満たす場合は、例外が発生する可能性があります。

  • パスが無効です。1) 長さが 0 の文字列である、2) 空白だけが含まれている、3) 無効な文字が含まれている、4) デバイス パスである (\\.\ で開始されている)、のいずれかの理由が考えられます (ArgumentException)。

  • パスが Nothing であるため、有効ではありません (ArgumentNullException)。

  • directory が存在しません (DirectoryNotFoundException)。

  • directory が既存のファイルをポイントしています (IOException)。

  • パスがシステムで定義されている最大長 (PathTooLongException) を超えています。

  • パス内のファイル名またはディレクトリ名にコロン (:) が含まれているか、または形式が無効です (NotSupportedException)。

  • ユーザーがパスを表示するのに必要なアクセス許可を持っていません (SecurityException)。

  • ユーザーに必要なアクセス許可がありません (UnauthorizedAccessException)。

解説

指定されたパターンに一致するファイルが見つからなければ、空のコレクションが返されます。

処理手順

My.Computer.FileSystem.FindInFiles メソッドに関連するタスクの例を次の表に示します。

目的

参照項目

指定された文字列を含むファイルをディレクトリから検索する

チュートリアル : Visual Basic によるファイルとディレクトリの操作

使用例

次の例は、C:\TestDir ディレクトリから "sample string" の文字列を含むファイルをすべて探し出し、結果を ListBox1 に表示します。

Dim list As System.Collections.ObjectModel.ReadOnlyCollection _
(Of String)
list = My.Computer.FileSystem.FindInFiles("C:\TestDir", _
 "sample string", True, FileIO.SearchOption.SearchTopLevelOnly)
For Each name As String In list
    ListBox1.Items.Add(name)
Next

この例を実行するためには、プロジェクトに ListBox1 という名前の ListBox が含まれている必要があります。

必要条件

名前空間 : Microsoft.VisualBasic.MyServices

クラス : FileSystemProxy (FileSystem へのアクセスを可能にします)

アセンブリ : Microsoft Visual Basic ランタイム (Microsoft.VisualBasic.dll 内)

使用可能なプロジェクトの種類

プロジェクトの種類

使用可/不可

Windows アプリケーション

あり

クラス ライブラリ

あり

コンソール アプリケーション

あり

Windows コントロール ライブラリ

あり

Web コントロール ライブラリ

あり

Windows サービス

あり

Web サイト

あり

アクセス許可

次のアクセス許可が必要になる可能性があります。

アクセス許可

説明

FileIOPermission

ファイルとフォルダへのアクセス許可を制御します。関連する列挙値 : Unrestricted

詳細については、「コード アクセス セキュリティ」および「アクセス許可の要求」を参照してください。

参照

処理手順

チュートリアル : Visual Basic によるファイルとディレクトリの操作

参照

My.Computer.FileSystem オブジェクト

SearchOption 列挙型

System.Collections.ObjectModel.ReadOnlyCollection<T>

FileSystem.FindInFiles