Directory.EnumerateFiles Method

定義

指定された条件を満たすファイル名の列挙可能なコレクションを返します。 Returns an enumerable collection of file names that meet specified criteria.

オーバーロード

EnumerateFiles(String, String, EnumerationOptions)
EnumerateFiles(String, String, SearchOption)

指定されたパスにあるファイルのうち、検索パターンに一致するファイル名の列挙可能なコレクションを返します。オプションでサブディレクトリを検索対象にすることができます。 Returns an enumerable collection of file names that match a search pattern in a specified path, and optionally searches subdirectories.

EnumerateFiles(String)

指定されたパスに存在するファイル名の列挙可能なコレクションを返します。 Returns an enumerable collection of file names in a specified path.

EnumerateFiles(String, String)

指定されたパスから、検索パターンに一致するファイル名の列挙可能なコレクションを返します。 Returns an enumerable collection of file names that match a search pattern in a specified path.

EnumerateFiles(String, String, EnumerationOptions)

public static System.Collections.Generic.IEnumerable<string> EnumerateFiles (string path, string searchPattern, System.IO.EnumerationOptions enumerationOptions);
パラメーター
path
String
searchPattern
String
enumerationOptions
EnumerationOptions
戻り値

EnumerateFiles(String, String, SearchOption)

指定されたパスにあるファイルのうち、検索パターンに一致するファイル名の列挙可能なコレクションを返します。オプションでサブディレクトリを検索対象にすることができます。 Returns an enumerable collection of file names that match a search pattern in a specified path, and optionally searches subdirectories.

public static System.Collections.Generic.IEnumerable<string> EnumerateFiles (string path, string searchPattern, System.IO.SearchOption searchOption);
パラメーター
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 files 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.

戻り値

指定した検索パターンおよびオプションに一致し、path で指定したディレクトリの中にあるファイルの完全名 (パスを含む) から成る列挙可能なコレクション。 An enumerable collection of the full names (including paths) for the files in the directory specified by path and that match the specified search pattern and 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 shows how to retrieve all the text files in a directory and its subdirectories, and move them to a new directory. ファイルを移動すると、元のディレクトリに存在しなくなります。After the files are moved, they no longer exist in the original directories.

using System;
using System.IO;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string sourceDirectory = @"C:\current";
            string archiveDirectory = @"C:\archive";

            try
            {
                var txtFiles = Directory.EnumerateFiles(sourceDirectory, "*.txt", SearchOption.AllDirectories);

                foreach (string currentFile in txtFiles)
                {
                    string fileName = currentFile.Substring(sourceDirectory.Length + 1);
                    Directory.Move(currentFile, Path.Combine(archiveDirectory, fileName));
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
    }
}
Imports System.IO

Module Module1

    Sub Main()
        Dim sourceDirectory As String = "C:\current"
        Dim archiveDirectory As String = "C:\archive"

        Try
            Dim txtFiles = Directory.EnumerateFiles(sourceDirectory, "*.txt", SearchOption.AllDirectories)

            For Each currentFile As String In txtFiles
                Dim fileName = currentFile.Substring(sourceDirectory.Length + 1)
                Directory.Move(currentFile, Path.Combine(archiveDirectory, fileName))
            Next
        Catch e As Exception
            Console.WriteLine(e.Message)
        End Try

    End Sub

End Module

ファイルの各行を読み取り、次の例に再帰的には、.txt 拡張子を持つすべてのファイルを列挙し、文字列"Microsoft"が含まれている場合、行を表示します。The following example recursively enumerates all files that have a .txt extension, reads each line of the file, and displays the line if it contains the string "Microsoft".

using System;
using System.IO;
using System.Linq;

class Program
{
    static void Main(string[] args)
    {
        try
        {
            var files = from file in Directory.EnumerateFiles(@"c:\", "*.txt", SearchOption.AllDirectories)
                        from line in File.ReadLines(file)
                        where line.Contains("Microsoft")
                        select new
                        {
                            File = file,
                            Line = line
                        };

            foreach (var f in files)
            {
                Console.WriteLine("{0}\t{1}", f.File, f.Line);
            }
			Console.WriteLine("{0} files found.", files.Count().ToString());
        }
        catch (UnauthorizedAccessException UAEx)
        {
            Console.WriteLine(UAEx.Message);
        }
        catch (PathTooLongException PathEx)
        {
            Console.WriteLine(PathEx.Message);
        }
    }
}
Imports System.IO
Imports System.Xml.Linq
Module Module1

    Sub Main()
        Try
            Dim files = From chkFile In Directory.EnumerateFiles("c:\", "*.txt", SearchOption.AllDirectories)
                        From line In File.ReadLines(chkFile)
                        Where line.Contains("Microsoft")
                        Select New With {.curFile = chkFile, .curLine = line}

            For Each f In files
                Console.WriteLine("{0}\t{1}", f.curFile, f.curLine)
            Next
            Console.WriteLine("{0} files found.", files.Count.ToString())
        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など"*.txt"、指定された拡張機能の文字数が次のように、検索に影響します。When you use the asterisk wildcard character in a searchPattern such as "*.txt", the number of characters in the specified extension affects the search as follows:

  • 指定された拡張機能が 3 文字の場合は、指定された拡張機能で始まる拡張子を持つファイルを返します。If the specified extension is exactly three characters long, the method returns files with extensions that begin with the specified extension. たとえば、"*.xls""book.xls"と"book.xlsx"の両方を返します。For example, "*.xls" returns both "book.xls" and "book.xlsx".
    • その他のすべてのケースでは、メソッドは、指定された拡張機能を完全に一致するファイルを返します。In all other cases, the method returns files that exactly match the specified extension. たとえば、"*.ai"が"file.ai"、"file.aif"を返します。For example, "*.ai" returns "file.ai" but not "file.aif".

疑問符 () のワイルドカード文字を使用すると、このメソッドは、指定されたファイル拡張子に一致するファイルのみを返します。When you use the question mark wildcard character, this method returns only files that match the specified file extension. たとえば、指定された 2 つのファイル、"file1.txt"および"file1.txtother"ディレクトリの検索パターンに"ファイルですか? です。一方、txt"は最初のファイルだけを返しますの検索パターン"ファイル*.txt"両方のファイルを返します。For example, given two files, "file1.txt" and "file1.txtother", in a directory, a search pattern of "file?.txt" returns just the first file, whereas a search pattern of "file*.txt" returns both files.

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 path information with 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.

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

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

EnumerateFiles(String)

指定されたパスに存在するファイル名の列挙可能なコレクションを返します。 Returns an enumerable collection of file names in a specified path.

public static System.Collections.Generic.IEnumerable<string> EnumerateFiles (string path);
パラメーター
path
String

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

戻り値

path で指定したディレクトリ内にあるファイルの完全名 (パスを含む) から成る列挙可能なコレクション。 An enumerable collection of the full names (including paths) for the files 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 shows how to retrieve all the files in a directory and move them to a new directory. ファイルを移動すると、元のディレクトリに存在しなくなります。After the files are moved, they no longer exist in the original directory.

using System;
using System.IO;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string sourceDirectory = @"C:\current";
            string archiveDirectory = @"C:\archive";

            try
            {
                var txtFiles = Directory.EnumerateFiles(sourceDirectory);

                foreach (string currentFile in txtFiles)
                {
                    string fileName = currentFile.Substring(sourceDirectory.Length + 1);
                    Directory.Move(currentFile, Path.Combine(archiveDirectory, fileName));
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
    }
}
Imports System.IO

Module Module1

    Sub Main()
        Dim sourceDirectory As String = "C:\current"
        Dim archiveDirectory As String = "C:\archive"

        Try
            Dim txtFiles = Directory.EnumerateFiles(sourceDirectory)

            For Each currentFile As String In txtFiles
                Dim fileName = currentFile.Substring(sourceDirectory.Length + 1)
                Directory.Move(currentFile, Path.Combine(archiveDirectory, fileName))
            Next
        Catch e As Exception
            Console.WriteLine(e.Message)
        End Try

    End Sub

End Module

ファイルの各行を読み取る次の例は、指定したディレクトリ内のファイルを列挙し、文字列「ヨーロッパ」が含まれている場合、行を表示します。The following example enumerates the files in the specified directory, reads each line of the file, and displays the line if it contains the string "Europe".

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

class Program
{
    static void Main(string[] args)
    {
        try
        {
            // LINQ query for all files containing the word 'Europe'.
            var files = from file in 
                Directory.EnumerateFiles(@"\\archives1\library\")
                where file.ToLower().Contains("europe")
                select file;

            foreach (var file in files)
            {
                Console.WriteLine("{0}", file);
            }
            Console.WriteLine("{0} files found.", files.Count<string>().ToString());
        }
        catch (UnauthorizedAccessException UAEx)
        {
            Console.WriteLine(UAEx.Message);
        }
        catch (PathTooLongException PathEx)
        {
            Console.WriteLine(PathEx.Message);
        }
    }
}
Imports System.IO
Imports System.Linq
Module Module1

    Sub Main()
        Try
            ' LINQ query for all files containing the word 'Europe'.
            Dim files = From file In Directory.EnumerateFiles("\\archives1\library\")
                Where file.ToLower().Contains("europe")

            For Each file In files
                Console.WriteLine("{0}", file)
            Next
            Console.WriteLine("{0} files found.", files.Count.ToString())
        Catch UAEx As UnauthorizedAccessException
            Console.WriteLine(UAEx.Message)
        Catch PathEx As PathTooLongException
            Console.WriteLine(PathEx.Message)
        End Try
    End Sub

End Module

注釈

相対パス情報を指定することができます、pathパラメーター。You can specify relative path information with 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.

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

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

EnumerateFiles(String, String)

指定されたパスから、検索パターンに一致するファイル名の列挙可能なコレクションを返します。 Returns an enumerable collection of file names that match a search pattern in a specified path.

public static System.Collections.Generic.IEnumerable<string> EnumerateFiles (string path, string searchPattern);
パラメーター
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 files in path. このパラメーターには有効なリテラルのパスとワイルドカード (* と ?) 文字の組み合わせを含めることができますが、正規表現はサポートされていません。 This parameter can contain a combination of valid literal path and wildcard (* and ?) characters, but it doesn't support regular expressions.

戻り値

指定した検索パターンに一致し、path で指定したディレクトリの中にあるファイルの完全名 (パスを含む) から成る列挙可能なコレクション。 An enumerable collection of the full names (including paths) for the files 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 by using 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 shows how to retrieve all the text files in a directory and move them to a new directory. ファイルを移動すると、元のディレクトリに存在しなくなります。After the files are moved, they no longer exist in the original directory.

using System;
using System.IO;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string sourceDirectory = @"C:\current";
            string archiveDirectory = @"C:\archive";

            try
            {
                var txtFiles = Directory.EnumerateFiles(sourceDirectory, "*.txt");

                foreach (string currentFile in txtFiles)
                {
                    string fileName = currentFile.Substring(sourceDirectory.Length + 1);
                    Directory.Move(currentFile, Path.Combine(archiveDirectory, fileName));
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
    }
}
Imports System.IO

Module Module1

    Sub Main()
        Dim sourceDirectory As String = "C:\current"
        Dim archiveDirectory As String = "C:\archive"

        Try
            Dim txtFiles = Directory.EnumerateFiles(sourceDirectory, "*.txt")

            For Each currentFile As String In txtFiles
                Dim fileName = currentFile.Substring(sourceDirectory.Length + 1)
                Directory.Move(currentFile, Path.Combine(archiveDirectory, fileName))
            Next
        Catch e As Exception
            Console.WriteLine(e.Message)
        End Try
    End Sub

End Module

ファイルの各行を読み取る次の例は、.txt 拡張子を持つ、指定されたディレクトリ内のファイルを列挙し、文字列「ヨーロッパ」が含まれている場合、行を表示します。The following example enumerates the files in the specified directory that have a .txt extension, reads each line of the file, and displays the line if it contains the string "Europe".

using System;
using System.Linq;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        try
        {
            // LINQ query for all .txt files containing the word 'Europe'.
            var files = from file in Directory.EnumerateFiles(@"\\archives1\library\", "*.txt")
                where file.ToLower().Contains("europe")
                select file;

            foreach (var file in files)
            {
                Console.WriteLine("{0}", file);
            }
            Console.WriteLine("{0} files found.", files.Count<string>().ToString());
        }
			
        catch (UnauthorizedAccessException UAEx)
        {
            Console.WriteLine(UAEx.Message);
        }
        catch (PathTooLongException PathEx)
        {
            Console.WriteLine(PathEx.Message);
        }
    }
}
Imports System.IO
Imports System.Linq
Module Module1

    Sub Main()
        Try
            ' LINQ query for all .txt files containing the word 'Europe'.
            Dim files = From file In Directory.EnumerateFiles("\\archives1\library\", "*.txt")
                Where file.ToLower().Contains("europe")

            For Each file In files
                Console.WriteLine("{0}", file)
            Next
            Console.WriteLine("{0} files found.", files.Count.ToString())
        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など"*.txt"、指定された拡張機能の文字数が次のように、検索に影響します。When you use the asterisk wildcard character in a searchPattern such as "*.txt", the number of characters in the specified extension affects the search as follows:

  • 指定された拡張機能が 3 文字の場合は、指定された拡張機能で始まる拡張子を持つファイルを返します。If the specified extension is exactly three characters long, the method returns files with extensions that begin with the specified extension. たとえば、"*.xls""book.xls"と"book.xlsx"の両方を返します。For example, "*.xls" returns both "book.xls" and "book.xlsx".
    • その他のすべてのケースでは、メソッドは、指定された拡張機能を完全に一致するファイルを返します。In all other cases, the method returns files that exactly match the specified extension. たとえば、"*.ai"が"file.ai"、"file.aif"を返します。For example, "*.ai" returns "file.ai" but not "file.aif".

疑問符 () のワイルドカード文字を使用すると、このメソッドは、指定されたファイル拡張子に一致するファイルのみを返します。When you use the question mark wildcard character, this method returns only files that match the specified file extension. たとえば、指定された 2 つのファイル、"file1.txt"および"file1.txtother"ディレクトリの検索パターンに"ファイルですか? です。一方、txt"は最初のファイルだけを返しますの検索パターン"ファイル*.txt"両方のファイルを返します。For example, given two files, "file1.txt" and "file1.txtother", in a directory, a search pattern of "file?.txt" returns just the first file, whereas a search pattern of "file*.txt" returns both files.

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 path information with 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.

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

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

適用対象