Directory.EnumerateDirectories メソッド

定義

指定された条件を満たすディレクトリの完全名から成る、列挙可能なコレクションを返します。Returns an enumerable collection of directory full names that meet specified criteria.

オーバーロード

EnumerateDirectories(String)

指定されたパスに存在するディレクトリの完全名から成る、列挙可能なコレクションを返します。Returns an enumerable collection of directory full names in a specified path.

EnumerateDirectories(String, String)

指定されたパスから、検索パターンに一致するディレクトリの完全名から成る、列挙可能なコレクションを返します。Returns an enumerable collection of directory full names that match a search pattern in a specified path.

EnumerateDirectories(String, String, EnumerationOptions)

指定したパス内にあり、検索パターンと一致するディレクトリの完全名の列挙可能なコレクションを返します。必要に応じて、サブディレクトリを検索します。Returns an enumerable collection of the directory full names that match a search pattern in a specified path, and optionally searches subdirectories.

EnumerateDirectories(String, String, SearchOption)

指定されたパスから、検索パターンに一致するディレクトリの完全名から成る、列挙可能なコレクションを返します。オプションでサブディレクトリを検索対象にできます。Returns an enumerable collection of directory full names that match a search pattern in a specified path, and optionally searches subdirectories.

EnumerateDirectories(String)

指定されたパスに存在するディレクトリの完全名から成る、列挙可能なコレクションを返します。Returns an enumerable collection of directory full names in a specified path.

public:
 static System::Collections::Generic::IEnumerable<System::String ^> ^ EnumerateDirectories(System::String ^ path);
public static System.Collections.Generic.IEnumerable<string> EnumerateDirectories (string path);
static member EnumerateDirectories : string -> seq<string>
Public Shared Function EnumerateDirectories (path As String) As IEnumerable(Of String)

パラメーター

path
String

検索するディレクトリの相対パスまたは絶対パス。The relative or absolute path to the directory to search. この文字列の大文字と小文字は区別されません。This string is not case-sensitive.

戻り値

IEnumerable<String>

path で指定したディレクトリ内にあるディレクトリの完全名 (パスを含む) から成る列挙可能なコレクション。An enumerable collection of the full names (including paths) for the directories in the directory specified by path.

例外

path は長さゼロの文字列で、空白のみで構成されているか、または無効な文字が使用されています。path is a zero-length string, contains only white space, or contains invalid characters. 正しくない文字を照会するには、GetInvalidPathChars() メソッドを使用します。You can query for invalid characters by using the GetInvalidPathChars() method.

pathnullです。path is null.

たとえば、マップされていないドライブへの参照など、path は無効です。path is invalid, such as referring to an unmapped drive.

path はファイル名です。path is a file name.

指定されたパス、ファイル名、または結合は、システム定義の最大長を超えています。The specified path, file name, or combined exceed the system-defined maximum length.

呼び出し元に、必要なアクセス許可がありません。The caller does not have the required permission.

呼び出し元に、必要なアクセス許可がありません。The caller does not have the required permission.

次の例では、指定されたパス内の最上位レベルのディレクトリを列挙します。The following example enumerates the top-level directories in a specified path.

using System;
using System.Collections.Generic;
using System.IO;

class Program
{
    private static void Main(string[] args)
    {
        try
        {
            // Set a variable to the My Documents path.
            string docPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);

            List<string> dirs = new List<string>(Directory.EnumerateDirectories(docPath));

            foreach (var dir in dirs)
            {
                Console.WriteLine($"{dir.Substring(dir.LastIndexOf(Path.DirectorySeparatorChar) + 1)}");
            }
            Console.WriteLine($"{dirs.Count} directories found.");
        }
        catch (UnauthorizedAccessException ex)
        {
            Console.WriteLine(ex.Message);
        }
        catch (PathTooLongException ex)
        {
            Console.WriteLine(ex.Message);
        }
    }
}
Imports System.Collections.Generic
Imports System.IO

Module Module1

    Sub Main()
        Try
            Dim dirPath As String = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)

            Dim dirs As List(Of String) = New List(Of String)(Directory.EnumerateDirectories(dirPath))

            For Each folder In dirs
                Console.WriteLine($"{dir.Substring(dir.LastIndexOf(Path.DirectorySeparatorChar) + 1)}")
            Next
            Console.WriteLine($"{dirs.Count} directories found.")
        Catch ex As UnauthorizedAccessException
            Console.WriteLine(ex.Message)
        Catch ex As PathTooLongException
            Console.WriteLine(ex.Message)
        End Try

    End Sub
End Module

注釈

パラメーターで相対パスまたは絶対パスの情報を指定でき path ます。You can specify relative or absolute path information in the path parameter. 相対パス情報は、現在の作業ディレクトリを基準として解釈されます。これは、メソッドを使用して判断でき GetCurrentDirectory ます。Relative path information is interpreted as relative to the current working directory, which you can determine by using the GetCurrentDirectory method. 返されたディレクトリ名には、パラメーターに指定した値がプレフィックスとして付けられ path ます。The returned directory names are prefixed with the value you provided in the path parameter. たとえば、パラメーターに相対パスを指定した場合、 path 返されるディレクトリ名には相対パスが含まれます。For example, if you provide a relative path in the path parameter, the returned directory names will contain a relative path.

EnumerateDirectoriesメソッドとメソッドは次のように GetDirectories 異なります。を使用すると、 EnumerateDirectories コレクション全体が返される前に、名前のコレクションの列挙を開始できます。を使用する場合は GetDirectories 、配列にアクセスする前に、名前の配列全体が返されるまで待機する必要があります。The EnumerateDirectories and GetDirectories methods differ as follows: When you use EnumerateDirectories, you can start enumerating the collection of names before the whole collection is returned; when you use GetDirectories, you must wait for the whole array of names to be returned before you can access the array. そのため、多くのファイルとディレクトリを操作する場合は、の方 EnumerateDirectories が効率的です。Therefore, when you are working with many files and directories, EnumerateDirectories can be more efficient.

返されたコレクションはキャッシュされません。コレクションでを呼び出すたびに、 GetEnumerator 新しい列挙が開始されます。The returned collection is not cached; each call to the GetEnumerator on the collection will start a new enumeration.

適用対象

EnumerateDirectories(String, String)

指定されたパスから、検索パターンに一致するディレクトリの完全名から成る、列挙可能なコレクションを返します。Returns an enumerable collection of directory full names that match a search pattern in a specified path.

public:
 static System::Collections::Generic::IEnumerable<System::String ^> ^ EnumerateDirectories(System::String ^ path, System::String ^ searchPattern);
public static System.Collections.Generic.IEnumerable<string> EnumerateDirectories (string path, string searchPattern);
static member EnumerateDirectories : string * string -> seq<string>
Public Shared Function EnumerateDirectories (path As String, searchPattern As String) As IEnumerable(Of String)

パラメーター

path
String

検索するディレクトリの相対パスまたは絶対パス。The relative or absolute path to the directory to search. この文字列の大文字と小文字は区別されません。This string is not case-sensitive.

searchPattern
String

path 内のディレクトリの名前と照合する検索文字列。The search string to match against the names of directories in path. このパラメーターには有効なリテラルのパスとワイルドカード (* と ?) 文字の組み合わせを含めることができますが、正規表現はサポートされていません。This parameter can contain a combination of valid literal path and wildcard (* and ?) characters, but it doesn't support regular expressions.

戻り値

IEnumerable<String>

指定した検索パターンに一致し、path で指定したディレクトリの中にあるディレクトリの完全名 (パスを含む) から成る列挙可能なコレクション。An enumerable collection of the full names (including paths) for the directories in the directory specified by path and that match the specified search pattern.

例外

path は長さゼロの文字列で、空白のみで構成されているか、または無効な文字が使用されています。path is a zero-length string, contains only white space, or contains invalid characters. 無効な文字を照会するには、GetInvalidPathChars() メソッドを使用します。You can query for invalid characters with the GetInvalidPathChars() method.

- または --or- searchPattern には有効なパターンが含まれません。searchPattern does not contain a valid pattern.

pathnullです。path is null.

または-or- searchPatternnullです。searchPattern is null.

たとえば、マップされていないドライブへの参照など、path は無効です。path is invalid, such as referring to an unmapped drive.

path はファイル名です。path is a file name.

指定されたパス、ファイル名、または結合は、システム定義の最大長を超えています。The specified path, file name, or combined exceed the system-defined maximum length.

呼び出し元に、必要なアクセス許可がありません。The caller does not have the required permission.

呼び出し元に、必要なアクセス許可がありません。The caller does not have the required permission.

次の例では、指定したパス内の、指定した検索パターンに一致する最上位レベルのディレクトリを列挙します。The following example enumerates the top-level directories in a specified path that match a specified search pattern.

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;

class Program
{

    private static void Main(string[] args)
    {
        try
        {
            string dirPath = @"\\archives\2009\reports";

            // LINQ query.
            var dirs = from dir in
                     Directory.EnumerateDirectories(dirPath, "dv_*")
                       select dir;

            // Show results.
            foreach (var dir in dirs)
            {
                // Remove path information from string.
                Console.WriteLine("{0}",
                    dir.Substring(dir.LastIndexOf("\\") + 1));
            }
            Console.WriteLine("{0} directories found.",
                dirs.Count<string>().ToString());

            // Optionally create a List collection.
            List<string> workDirs = new List<string>(dirs);
        }
        catch (UnauthorizedAccessException UAEx)
        {
            Console.WriteLine(UAEx.Message);
        }
        catch (PathTooLongException PathEx)
        {
            Console.WriteLine(PathEx.Message);
        }
    }
}
Imports System.Collections.Generic
Imports System.IO
Imports System.Linq

Module Module1

    Sub Main()
        Try
            Dim dirPath As String = "\\archives\2009\reports"

            ' LINQ query.
            Dim dirs = From folder In _
                Directory.EnumerateDirectories(dirPath, "dv_*")
            For Each folder In dirs
                ' Remove path infomration from string.
                Console.WriteLine("{0}", _
                        folder.Substring(folder.LastIndexOf("\") + 1))
            Next
            Console.WriteLine("{0} directories found.", _
                dirs.Count.ToString())

            ' Optionally create a List collection.
            Dim workDirs As List(Of String) = New List(Of String)

        Catch UAEx As UnauthorizedAccessException
            Console.WriteLine(UAEx.Message)
        Catch PathEx As PathTooLongException
            Console.WriteLine(PathEx.Message)
        End Try
    End Sub
End Module

注釈

searchPattern には、リテラル文字とワイルドカード文字の組み合わせを使用できますが、正規表現はサポートされていません。searchPattern can be a combination of literal and wildcard characters, but it doesn't support regular expressions. では、次のワイルドカード指定子を使用でき searchPattern ます。The following wildcard specifiers are permitted in searchPattern.

ワイルドカード指定子Wildcard specifier [一致する]Matches
* アスタリスク* (asterisk) その位置に0個以上の文字が含まれています。Zero or more characters in that position.
?? (疑問符)(question mark) その位置に0個または1個の文字。Zero or one character in that position.

ワイルドカード以外の文字はリテラル文字です。Characters other than the wildcard are literal characters. たとえば、 searchPattern 文字列 " * t" は、 path 末尾に文字 "t" が付いているすべての名前を検索します。For example, the searchPattern string "*t" searches for all names in path ending with the letter "t". searchPattern文字列 "s" は、 * path 文字 "s" で始まるすべての名前を検索します。The searchPattern string "s*" searches for all names in path beginning with the letter "s".

searchPattern 2つのピリオド ("..") で終了することはできません。また、2つのピリオド ("..") に続けて DirectorySeparatorChar または AltDirectorySeparatorChar を指定することも、無効な文字を含めることもできません。searchPattern cannot end in two periods ("..") or contain two periods ("..") followed by DirectorySeparatorChar or AltDirectorySeparatorChar, nor can it contain any invalid characters. 正しくない文字を照会するには、GetInvalidPathChars メソッドを使用します。You can query for invalid characters by using the GetInvalidPathChars method.

パラメーターで相対パスまたは絶対パスの情報を指定でき path ます。You can specify relative or absolute path information in the path parameter. 相対パス情報は、現在の作業ディレクトリを基準として解釈されます。これは、メソッドを使用して判断でき GetCurrentDirectory ます。Relative path information is interpreted as relative to the current working directory, which you can determine by using the GetCurrentDirectory method. 返されたディレクトリ名には、パラメーターに指定した値がプレフィックスとして付けられ path ます。The returned directory names are prefixed with the value you provided in the path parameter. たとえば、パラメーターに相対パスを指定した場合、 path 返されるディレクトリ名には相対パスが含まれます。For example, if you provide a relative path in the path parameter, the returned directory names will contain a relative path.

EnumerateDirectoriesメソッドとメソッドは次のように GetDirectories 異なります。を使用すると、 EnumerateDirectories コレクション全体が返される前に、名前のコレクションの列挙を開始できます。を使用する場合は GetDirectories 、配列にアクセスする前に、名前の配列全体が返されるまで待機する必要があります。The EnumerateDirectories and GetDirectories methods differ as follows: When you use EnumerateDirectories, you can start enumerating the collection of names before the whole collection is returned; when you use GetDirectories, you must wait for the whole array of names to be returned before you can access the array. そのため、多くのファイルとディレクトリを操作する場合は、の方 EnumerateDirectories が効率的です。Therefore, when you are working with many files and directories, EnumerateDirectories can be more efficient.

返されたコレクションはキャッシュされません。コレクションでを呼び出すたびに、 GetEnumerator 新しい列挙が開始されます。The returned collection is not cached; each call to the GetEnumerator on the collection will start a new enumeration.

適用対象

EnumerateDirectories(String, String, EnumerationOptions)

指定したパス内にあり、検索パターンと一致するディレクトリの完全名の列挙可能なコレクションを返します。必要に応じて、サブディレクトリを検索します。Returns an enumerable collection of the directory full names that match a search pattern in a specified path, and optionally searches subdirectories.

public:
 static System::Collections::Generic::IEnumerable<System::String ^> ^ EnumerateDirectories(System::String ^ path, System::String ^ searchPattern, System::IO::EnumerationOptions ^ enumerationOptions);
public static System.Collections.Generic.IEnumerable<string> EnumerateDirectories (string path, string searchPattern, System.IO.EnumerationOptions enumerationOptions);
static member EnumerateDirectories : string * string * System.IO.EnumerationOptions -> seq<string>
Public Shared Function EnumerateDirectories (path As String, searchPattern As String, enumerationOptions As EnumerationOptions) As IEnumerable(Of String)

パラメーター

path
String

検索するディレクトリの相対パスまたは絶対パス。The relative or absolute path to the directory to search. この文字列の大文字と小文字は区別されません。This string is not case-sensitive.

searchPattern
String

path 内のディレクトリの名前と照合する検索文字列。The search string to match against the names of directories in path. このパラメーターには有効なリテラルのパスとワイルドカード (* と ?) 文字の組み合わせを含めることができますが、正規表現はサポートされていません。This parameter can contain a combination of valid literal path and wildcard (* and ?) characters, but it doesn't support regular expressions.

enumerationOptions
EnumerationOptions

使用する検索と列挙の構成を記述するオブジェクト。An object that describes the search and enumeration configuration to use.

戻り値

IEnumerable<String>

path で指定したディレクトリ内にあり、指定した検索パターンおよび列挙オプションと一致する、ディレクトリの完全名 (パスを含む) の列挙可能なコレクション。An enumerable collection of the full names (including paths) for the directories in the directory specified by path and that match the specified search pattern and enumeration options.

例外

path は長さゼロの文字列で、空白のみで構成されているか、または無効な文字が使用されています。path is a zero-length string, contains only white space, or contains invalid characters. 無効な文字を照会するには、GetInvalidPathChars() メソッドを使用します。You can query for invalid characters by using the GetInvalidPathChars() method.

- または --or- searchPattern には有効なパターンが含まれません。searchPattern does not contain a valid pattern.

path または searchPatternnull です。path or searchPattern is null.

searchOption は正しい SearchOption 値ではありません。searchOption is not a valid SearchOption value.

たとえば、マップされていないドライブへの参照など、path は無効です。path is invalid, such as referring to an unmapped drive.

path はファイル名です。path is a file name.

指定されたパス、ファイル名、または結合は、システム定義の最大長を超えています。The specified path, file name, or combined exceed the system-defined maximum length.

呼び出し元に、必要なアクセス許可がありません。The caller does not have the required permission.

呼び出し元に、必要なアクセス許可がありません。The caller does not have the required permission.

注釈

searchPattern には、リテラル文字とワイルドカード文字の組み合わせを使用できますが、正規表現はサポートされていません。searchPattern can be a combination of literal and wildcard characters, but it doesn't support regular expressions. では、次のワイルドカード指定子を使用でき searchPattern ます。The following wildcard specifiers are permitted in searchPattern.

ワイルドカード指定子Wildcard specifier [一致する]Matches
* アスタリスク* (asterisk) その位置に0個以上の文字が含まれています。Zero or more characters in that position.
?? (疑問符)(question mark) その位置に1文字だけです。Exactly one character in that position.

ワイルドカード以外の文字はリテラル文字です。Characters other than the wildcard are literal characters. たとえば、 searchPattern 文字列 " * t" は、 path 末尾に文字 "t" が付いているすべての名前を検索します。For example, the searchPattern string "*t" searches for all names in path ending with the letter "t". searchPattern文字列 "s" は、 * path 文字 "s" で始まるすべての名前を検索します。The searchPattern string "s*" searches for all names in path beginning with the letter "s".

searchPattern 2つのピリオド ("..") で終了することはできません。また、2つのピリオド ("..") に続けて DirectorySeparatorChar または AltDirectorySeparatorChar を指定することも、無効な文字を含めることもできません。searchPattern cannot end in two periods ("..") or contain two periods ("..") followed by DirectorySeparatorChar or AltDirectorySeparatorChar, nor can it contain any invalid characters. 正しくない文字を照会するには、GetInvalidPathChars メソッドを使用します。You can query for invalid characters by using the GetInvalidPathChars method.

パラメーターで相対パスまたは絶対パスの情報を指定でき path ます。You can specify relative or absolute path information in the path parameter. 相対パス情報は、現在の作業ディレクトリを基準として解釈されます。これは、メソッドを使用して判断でき GetCurrentDirectory ます。Relative path information is interpreted as relative to the current working directory, which you can determine by using the GetCurrentDirectory method. 返されたディレクトリ名には、パラメーターに指定した値がプレフィックスとして付けられ path ます。The returned directory names are prefixed with the value you provided in the path parameter. たとえば、パラメーターに相対パスを指定した場合、 path 返されるディレクトリ名には相対パスが含まれます。For example, if you provide a relative path in the path parameter, the returned directory names will contain a relative path.

EnumerateDirectoriesメソッドとメソッドは次のように GetDirectories 異なります。を使用すると、 EnumerateDirectories コレクション全体が返される前に、名前のコレクションの列挙を開始できます。を使用する場合は GetDirectories 、配列にアクセスする前に、名前の配列全体が返されるまで待機する必要があります。The EnumerateDirectories and GetDirectories methods differ as follows: When you use EnumerateDirectories, you can start enumerating the collection of names before the whole collection is returned; when you use GetDirectories, you must wait for the whole array of names to be returned before you can access the array. そのため、多くのファイルとディレクトリを操作する場合は、の方 EnumerateDirectories が効率的です。Therefore, when you are working with many files and directories, EnumerateDirectories can be more efficient.

返されたコレクションはキャッシュされません。コレクションでを呼び出すたびに、 GetEnumerator 新しい列挙が開始されます。The returned collection is not cached; each call to the GetEnumerator on the collection will start a new enumeration.

適用対象

EnumerateDirectories(String, String, SearchOption)

指定されたパスから、検索パターンに一致するディレクトリの完全名から成る、列挙可能なコレクションを返します。オプションでサブディレクトリを検索対象にできます。Returns an enumerable collection of directory full names that match a search pattern in a specified path, and optionally searches subdirectories.

public:
 static System::Collections::Generic::IEnumerable<System::String ^> ^ EnumerateDirectories(System::String ^ path, System::String ^ searchPattern, System::IO::SearchOption searchOption);
public static System.Collections.Generic.IEnumerable<string> EnumerateDirectories (string path, string searchPattern, System.IO.SearchOption searchOption);
static member EnumerateDirectories : string * string * System.IO.SearchOption -> seq<string>
Public Shared Function EnumerateDirectories (path As String, searchPattern As String, searchOption As SearchOption) As IEnumerable(Of String)

パラメーター

path
String

検索するディレクトリの相対パスまたは絶対パス。The relative or absolute path to the directory to search. この文字列の大文字と小文字は区別されません。This string is not case-sensitive.

searchPattern
String

path 内のディレクトリの名前と照合する検索文字列。The search string to match against the names of directories in path. このパラメーターには有効なリテラルのパスとワイルドカード (* と ?) 文字の組み合わせを含めることができますが、正規表現はサポートされていません。This parameter can contain a combination of valid literal path and wildcard (* and ?) characters, but it doesn't support regular expressions.

searchOption
SearchOption

検索操作に現在のディレクトリのみを含めるのか、またはすべてのサブディレクトリを含めるのかを指定する列挙値の 1 つ。One of the enumeration values that specifies whether the search operation should include only the current directory or should include all subdirectories. 既定値は TopDirectoryOnly です。The default value is TopDirectoryOnly.

戻り値

IEnumerable<String>

path で指定したディレクトリ内にあり、指定した検索パターンおよび検索オプションと一致する、ディレクトリの完全名 (パスを含む) の列挙可能なコレクション。An enumerable collection of the full names (including paths) for the directories in the directory specified by path and that match the specified search pattern and search option.

例外

path は長さゼロの文字列で、空白のみで構成されているか、または無効な文字が使用されています。path is a zero-length string, contains only white space, or contains invalid characters. 無効な文字を照会するには、GetInvalidPathChars() メソッドを使用します。You can query for invalid characters by using the GetInvalidPathChars() method.

- または --or- searchPattern には有効なパターンが含まれません。searchPattern does not contain a valid pattern.

pathnullです。path is null.

または-or- searchPatternnullです。searchPattern is null.

searchOption は正しい SearchOption 値ではありません。searchOption is not a valid SearchOption value.

たとえば、マップされていないドライブへの参照など、path は無効です。path is invalid, such as referring to an unmapped drive.

path はファイル名です。path is a file name.

指定されたパス、ファイル名、または結合は、システム定義の最大長を超えています。The specified path, file name, or combined exceed the system-defined maximum length.

呼び出し元に、必要なアクセス許可がありません。The caller does not have the required permission.

呼び出し元に、必要なアクセス許可がありません。The caller does not have the required permission.

次の例では、指定したパス内のディレクトリを列挙し、指定した検索パターンに一致させます。The following example enumerates directories in a specified path that match a specified search pattern. この例では、パラメーターを使用して、 searchOption すべてのサブディレクトリを検索に含めるように指定しています。It uses the searchOption parameter to specify that all subdirectories should be included in the search.

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;

class Program
{

    private static void Main(string[] args)
    {
        try
        {
            string dirPath = @"\\archives\2009\reports";

            // LINQ query.
            var dirs = from dir in
                     Directory.EnumerateDirectories(dirPath, "dv_*",
                        SearchOption.AllDirectories)
                       select dir;

            // Show results.
            foreach (var dir in dirs)
            {
                // Remove path information from string.
                Console.WriteLine("{0}",
                    dir.Substring(dir.LastIndexOf("\\") + 1));
            }
            Console.WriteLine("{0} directories found.",
                dirs.Count<string>().ToString());

            // Optionally create a List collection.
            List<string> workDirs = new List<string>(dirs);
        }
        catch (UnauthorizedAccessException UAEx)
        {
            Console.WriteLine(UAEx.Message);
        }
        catch (PathTooLongException PathEx)
        {
            Console.WriteLine(PathEx.Message);
        }
    }
}
Imports System.Collections.Generic
Imports System.IO
Imports System.Linq

Module Module1

    Sub Main()
        Try
            Dim dirPath As String = "\\archives\2009\reports"

            ' LINQ query.
            Dim dirs = From folder In _
                Directory.EnumerateDirectories(dirPath, "dv_*", _
                    SearchOption.AllDirectories)
            For Each folder In dirs
                ' Remove path infomration from string.
                Console.WriteLine("{0}", _
                        folder.Substring(folder.LastIndexOf("\") + 1))
            Next
            Console.WriteLine("{0} directories found.", _
                dirs.Count.ToString())

            ' Optionally create a List collection.
            Dim workDirs As List(Of String) = New List(Of String)

        Catch UAEx As UnauthorizedAccessException
            Console.WriteLine(UAEx.Message)
        Catch PathEx As PathTooLongException
            Console.WriteLine(PathEx.Message)
        End Try
    End Sub
End Module

注釈

searchPattern には、リテラル文字とワイルドカード文字の組み合わせを使用できますが、正規表現はサポートされていません。searchPattern can be a combination of literal and wildcard characters, but it doesn't support regular expressions. では、次のワイルドカード指定子を使用でき searchPattern ます。The following wildcard specifiers are permitted in searchPattern.

ワイルドカード指定子Wildcard specifier [一致する]Matches
* アスタリスク* (asterisk) その位置に0個以上の文字が含まれています。Zero or more characters in that position.
?? (疑問符)(question mark) その位置に1文字だけです。Exactly one character in that position.

ワイルドカード以外の文字はリテラル文字です。Characters other than the wildcard are literal characters. たとえば、 searchPattern 文字列 " * t" は、 path 末尾に文字 "t" が付いているすべての名前を検索します。For example, the searchPattern string "*t" searches for all names in path ending with the letter "t". searchPattern文字列 "s" は、 * path 文字 "s" で始まるすべての名前を検索します。The searchPattern string "s*" searches for all names in path beginning with the letter "s".

searchPattern 2つのピリオド ("..") で終了することはできません。また、2つのピリオド ("..") に続けて DirectorySeparatorChar または AltDirectorySeparatorChar を指定することも、無効な文字を含めることもできません。searchPattern cannot end in two periods ("..") or contain two periods ("..") followed by DirectorySeparatorChar or AltDirectorySeparatorChar, nor can it contain any invalid characters. 正しくない文字を照会するには、GetInvalidPathChars メソッドを使用します。You can query for invalid characters by using the GetInvalidPathChars method.

パラメーターで相対パスまたは絶対パスの情報を指定でき path ます。You can specify relative or absolute path information in the path parameter. 相対パス情報は、現在の作業ディレクトリを基準として解釈されます。これは、メソッドを使用して判断でき GetCurrentDirectory ます。Relative path information is interpreted as relative to the current working directory, which you can determine by using the GetCurrentDirectory method. 返されたディレクトリ名には、パラメーターに指定した値がプレフィックスとして付けられ path ます。The returned directory names are prefixed with the value you provided in the path parameter. たとえば、パラメーターに相対パスを指定した場合、 path 返されるディレクトリ名には相対パスが含まれます。For example, if you provide a relative path in the path parameter, the returned directory names will contain a relative path.

EnumerateDirectoriesメソッドとメソッドは次のように GetDirectories 異なります。を使用すると、 EnumerateDirectories コレクション全体が返される前に、名前のコレクションの列挙を開始できます。を使用する場合は GetDirectories 、配列にアクセスする前に、名前の配列全体が返されるまで待機する必要があります。The EnumerateDirectories and GetDirectories methods differ as follows: When you use EnumerateDirectories, you can start enumerating the collection of names before the whole collection is returned; when you use GetDirectories, you must wait for the whole array of names to be returned before you can access the array. そのため、多くのファイルとディレクトリを操作する場合は、の方 EnumerateDirectories が効率的です。Therefore, when you are working with many files and directories, EnumerateDirectories can be more efficient.

返されたコレクションはキャッシュされません。コレクションでを呼び出すたびに、 GetEnumerator 新しい列挙が開始されます。The returned collection is not cached; each call to the GetEnumerator on the collection will start a new enumeration.

適用対象