次の方法で共有


My.Computer.FileSystem.GetDirectoryInfo メソッド

更新 : 2007 年 11 月

ディレクトリ内のサブディレクトリのパス名を表す文字列のコレクションを返します。

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

パラメータ

  • directory
    ディレクトリの名前とパスを指定する String です。必ず指定します。

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

  • wildcards
    名前と照合するパターンを指定する String です。必ず指定します。

戻り値

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

例外

例外を引き起こす可能性のある状態を次に示します。

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

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

  • 1 つ以上の指定されたワイルドカード文字が Nothingか、空の文字列か、または空白のみを含んでいます (ArgumentNullException)。

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

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

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

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

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

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

解説

wildcards パラメータを使用して、特定のパターンを指定できます。サブディレクトリの中身を含めて検索する場合は、searchType パラメータに SearchAllSubDirectories を設定します。

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

処理手順

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

目的

参照項目

特定のパターンを持つサブディレクトリを検索する

方法 : Visual Basic で特定のパターンに一致するサブディレクトリを検索する

使用例

次の例は、名前に Logs という語を含むすべてのディレクトリを、ディレクトリ構造から検索して返し、それらを ListBox1 に追加します。

For Each foundDirectory As String In _
My.Computer.FileSystem.GetDirectories _
(My.Computer.FileSystem.SpecialDirectories.MyDocuments, _
True, "*Logs*")
    ListBox1.Items.Add(foundDirectory)
Next

この例では、ListBox1 という名前の ListBox がフォームにあることが必要です。

必要条件

名前空間 : Microsoft.VisualBasic.MyServices

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

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

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

プロジェクトの種類

使用可/不可

Windows アプリケーション

あり

クラス ライブラリ

あり

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

あり

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

あり

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

あり

Windows サービス

あり

Web サイト

あり

アクセス許可

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

アクセス許可

説明

FileIOPermission

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

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

参照

参照

My.Computer.FileSystem オブジェクト

SearchOption 列挙型

System.Collections.ObjectModel.ReadOnlyCollection<T>

FileSystem.GetDirectories