Directory.GetFiles Directory.GetFiles Directory.GetFiles Directory.GetFiles Method

Definition

Gibt die Namen der Dateien zurück, die die angegebenen Kriterien erfüllen.Returns the names of files that meet specified criteria.

Überlädt

GetFiles(String) GetFiles(String) GetFiles(String) GetFiles(String)

Gibt die Namen aller Dateien (einschließlich des Pfads) im angegebenen Verzeichnis zurück.Returns the names of files (including their paths) in the specified directory.

GetFiles(String, String) GetFiles(String, String) GetFiles(String, String) GetFiles(String, String)

Gibt die Namen der Dateien (einschließlich der zugehörigen Pfade) zurück, die dem angegebenen Suchmuster im angegebenen Verzeichnis entsprechen.Returns the names of files (including their paths) that match the specified search pattern in the specified directory.

GetFiles(String, String, EnumerationOptions) GetFiles(String, String, EnumerationOptions) GetFiles(String, String, EnumerationOptions)
GetFiles(String, String, SearchOption) GetFiles(String, String, SearchOption) GetFiles(String, String, SearchOption)

Gibt die Namen der Dateien (einschließlich der zugehörigen Pfade) zurück, die dem angegebenen Suchmuster im angegebenen Verzeichnis entsprechen. Anhand eines Werts wird bestimmt, ob Unterverzeichnisse durchsucht werden sollen.Returns the names of files (including their paths) that match the specified search pattern in the specified directory, using a value to determine whether to search subdirectories.

GetFiles(String) GetFiles(String) GetFiles(String) GetFiles(String)

Gibt die Namen aller Dateien (einschließlich des Pfads) im angegebenen Verzeichnis zurück.Returns the names of files (including their paths) in the specified directory.

public:
 static cli::array <System::String ^> ^ GetFiles(System::String ^ path);
public static string[] GetFiles (string path);
static member GetFiles : string -> string[]
Public Shared Function GetFiles (path As String) As String()

Parameter

path
String String String String

Der relative oder absolute Pfad zum Verzeichnis, das durchsucht werden soll.The relative or absolute path to the directory to search. Bei dieser Zeichenfolge wird die Groß-/Kleinschreibung nicht berücksichtigt.This string is not case-sensitive.

Gibt zurück

String[]

Ein Array der vollständigen Namen (einschließlich der Pfade) für die Dateien im angegebenen Verzeichnis, oder ein leeres Array, wenn keine Dateien gefunden werden.An array of the full names (including paths) for the files in the specified directory, or an empty array if no files are found.

Ausnahmen

path ist ein Dateiname.path is a file name.

- oder - -or- Netzwerkfehler.A network error has occurred.

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.The caller does not have the required permission.

path ist eine leere Zeichenfolge, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen.path is a zero-length string, contains only white space, or contains one or more invalid characters. Sie können Abfragen für ungültige Zeichen mithilfe der GetInvalidPathChars()-Methode ausführen.You can query for invalid characters by using the GetInvalidPathChars() method.

Der angegebene Pfad und/oder Dateiname überschreiten die vom System definierte maximale Länge.The specified path, file name, or both exceed the system-defined maximum length.

Der angegebene Pfad wurde nicht gefunden oder ist ungültig (er befindet sich z. B.auf einem nicht zugeordneten Laufwerk).The specified path is not found or is invalid (for example, it is on an unmapped drive).

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie die GetFiles -Methode verwendet wird, um Dateinamen von einem benutzerdefinierten Speicherort zurückzugeben.The following example demonstrates how to use the GetFiles method to return file names from a user-specified location. Das Beispiel ist so konfiguriert, dass alle Fehler abgefangen werden, die von dieser Methode gemeinsam sind.The example is configured to catch all errors common to this method.

// For Directory::GetFiles and Directory::GetDirectories
// For File::Exists, Directory::Exists
using namespace System;
using namespace System::IO;
using namespace System::Collections;

// Insert logic for processing found files here.
void ProcessFile( String^ path )
{
   Console::WriteLine( "Processed file '{0}'.", path );
}


// Process all files in the directory passed in, recurse on any directories 
// that are found, and process the files they contain.
void ProcessDirectory( String^ targetDirectory )
{
   
   // Process the list of files found in the directory.
   array<String^>^fileEntries = Directory::GetFiles( targetDirectory );
   IEnumerator^ files = fileEntries->GetEnumerator();
   while ( files->MoveNext() )
   {
      String^ fileName = safe_cast<String^>(files->Current);
      ProcessFile( fileName );
   }

   
   // Recurse into subdirectories of this directory.
   array<String^>^subdirectoryEntries = Directory::GetDirectories( targetDirectory );
   IEnumerator^ dirs = subdirectoryEntries->GetEnumerator();
   while ( dirs->MoveNext() )
   {
      String^ subdirectory = safe_cast<String^>(dirs->Current);
      ProcessDirectory( subdirectory );
   }
}

int main( int argc, char *argv[] )
{
   for ( int i = 1; i < argc; i++ )
   {
      String^ path = gcnew String(argv[ i ]);
      if ( File::Exists( path ) )
      {
         
         // This path is a file
         ProcessFile( path );
      }
      else
      if ( Directory::Exists( path ) )
      {
         
         // This path is a directory
         ProcessDirectory( path );
      }
      else
      {
         Console::WriteLine( "{0} is not a valid file or directory.", path );
      }

   }
}

// For Directory.GetFiles and Directory.GetDirectories
// For File.Exists, Directory.Exists
using System;
using System.IO;
using System.Collections;

public class RecursiveFileProcessor 
{
    public static void Main(string[] args) 
    {
        foreach(string path in args) 
        {
            if(File.Exists(path)) 
            {
                // This path is a file
                ProcessFile(path); 
            }               
            else if(Directory.Exists(path)) 
            {
                // This path is a directory
                ProcessDirectory(path);
            }
            else 
            {
                Console.WriteLine("{0} is not a valid file or directory.", path);
            }        
        }        
    }


    // Process all files in the directory passed in, recurse on any directories 
    // that are found, and process the files they contain.
    public static void ProcessDirectory(string targetDirectory) 
    {
        // Process the list of files found in the directory.
        string [] fileEntries = Directory.GetFiles(targetDirectory);
        foreach(string fileName in fileEntries)
            ProcessFile(fileName);

        // Recurse into subdirectories of this directory.
        string [] subdirectoryEntries = Directory.GetDirectories(targetDirectory);
        foreach(string subdirectory in subdirectoryEntries)
            ProcessDirectory(subdirectory);
    }
        
    // Insert logic for processing found files here.
    public static void ProcessFile(string path) 
    {
        Console.WriteLine("Processed file '{0}'.", path);	    
    }
}
' For Directory.GetFiles and Directory.GetDirectories
' For File.Exists, Directory.Exists 

Imports System.IO
Imports System.Collections

Public Class RecursiveFileProcessor

    Public Overloads Shared Sub Main(ByVal args() As String)
        Dim path As String
        For Each path In args
            If File.Exists(path) Then
                ' This path is a file.
                ProcessFile(path)
            Else
                If Directory.Exists(path) Then
                    ' This path is a directory.
                    ProcessDirectory(path)
                Else
                    Console.WriteLine("{0} is not a valid file or directory.", path)
                End If
            End If
        Next path
    End Sub


    ' Process all files in the directory passed in, recurse on any directories 
    ' that are found, and process the files they contain.
    Public Shared Sub ProcessDirectory(ByVal targetDirectory As String)
        Dim fileEntries As String() = Directory.GetFiles(targetDirectory)
        ' Process the list of files found in the directory.
        Dim fileName As String
        For Each fileName In fileEntries
            ProcessFile(fileName)

        Next fileName
        Dim subdirectoryEntries As String() = Directory.GetDirectories(targetDirectory)
        ' Recurse into subdirectories of this directory.
        Dim subdirectory As String
        For Each subdirectory In subdirectoryEntries
            ProcessDirectory(subdirectory)
        Next subdirectory

    End Sub

    ' Insert logic for processing found files here.
    Public Shared Sub ProcessFile(ByVal path As String)
        Console.WriteLine("Processed file '{0}'.", path)
    End Sub
End Class

Hinweise

Die EnumerateFiles Methoden GetFiles und unterscheiden sich wie folgt: Wenn Sie verwenden EnumerateFiles, können Sie mit dem Auflisten der Auflistung von Namen beginnen, bevor die gesamte Auflistung zurückgegeben wird. Wenn GetFilesSie verwenden, müssen Sie darauf warten, dass das gesamte Array von Namen zurückgegeben wird, bevor Sie auf das Array zugreifen können.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. Wenn Sie also mit vielen Dateien und Verzeichnissen arbeiten, EnumerateFiles kann effizienter sein.Therefore, when you are working with many files and directories, EnumerateFiles can be more efficient.

Die zurückgegebenen Dateinamen werden an den angegebenen path Parameter angefügt.The returned file names are appended to the supplied path parameter.

Diese Methode ist mit dem GetFiles(String, String) Sternchen (*) identisch, das als Suchmuster angegeben wird.This method is identical to GetFiles(String, String) with the asterisk (*) specified as the search pattern.

Der path -Parameter kann relative oder absolute Pfadinformationen angeben.The path parameter can specify relative or absolute path information. Relative Pfadinformationen werden als relativ zum aktuellen Arbeitsverzeichnis interpretiert.Relative path information is interpreted as relative to the current working directory. Informationen zum Abrufen des aktuellen Arbeitsverzeichnisses finden GetCurrentDirectorySie unter.To obtain the current working directory, see GetCurrentDirectory.

Die Reihenfolge der zurückgegebenen Dateinamen ist nicht garantiert. Verwenden Sie Sort die-Methode, wenn eine bestimmte Sortierreihenfolge erforderlich ist.The order of the returned file names is not guaranteed; use the Sort method if a specific sort order is required.

Der path -Parameter berücksichtigt nicht die Groß-/Kleinschreibung.The path parameter is not case-sensitive.

Eine Liste der allgemeinen e/a-Aufgaben finden Sie unter Allgemeine e/a-Aufgaben.For a list of common I/O tasks, see Common I/O Tasks.

Sicherheit

FileIOPermission
für den Zugriff auf Pfadinformationen für das aktuelle Verzeichnis.for access to path information for the current directory. Zugehörige Enumeration:PathDiscoveryAssociated enumeration: PathDiscovery

Siehe auch

GetFiles(String, String) GetFiles(String, String) GetFiles(String, String) GetFiles(String, String)

Gibt die Namen der Dateien (einschließlich der zugehörigen Pfade) zurück, die dem angegebenen Suchmuster im angegebenen Verzeichnis entsprechen.Returns the names of files (including their paths) that match the specified search pattern in the specified directory.

public:
 static cli::array <System::String ^> ^ GetFiles(System::String ^ path, System::String ^ searchPattern);
public static string[] GetFiles (string path, string searchPattern);
static member GetFiles : string * string -> string[]
Public Shared Function GetFiles (path As String, searchPattern As String) As String()

Parameter

path
String String String String

Der relative oder absolute Pfad zum Verzeichnis, das durchsucht werden soll.The relative or absolute path to the directory to search. Bei dieser Zeichenfolge wird die Groß-/Kleinschreibung nicht berücksichtigt.This string is not case-sensitive.

searchPattern
String String String String

Die Suchzeichenfolge für die Überprüfung der Namen von Dateien in path auf Übereinstimmungen.The search string to match against the names of files in path. Dieser Parameter kann eine Kombination aus gültigen Literalpfad- und Platzhalterzeichen (* und ?) enthalten, unterstützt jedoch keine regulären Ausdrücke.This parameter can contain a combination of valid literal path and wildcard (* and ?) characters, but it doesn't support regular expressions.

Gibt zurück

String[]

Ein Array der vollständigen Namen der Dateien im angegebenen Verzeichnis (einschließlich der zugehörigen Pfade), die dem angegebenen Suchmuster entsprechen, oder ein leeres Array, wenn keine Dateien gefunden werden.An array of the full names (including paths) for the files in the specified directory that match the specified search pattern, or an empty array if no files are found.

Ausnahmen

path ist ein Dateiname.path is a file name.

- oder - -or- Netzwerkfehler.A network error has occurred.

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.The caller does not have the required permission.

path ist eine leere Zeichenfolge, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen.path is a zero-length string, contains only white space, or contains one or more invalid characters. Mit GetInvalidPathChars() können Sie Abfragen für ungültige Zeichen ausführen.You can query for invalid characters by using GetInvalidPathChars().

- oder - -or- searchPattern enthält kein gültiges Muster.searchPattern doesn't contain a valid pattern.

path oder searchPattern ist null.path or searchPattern is null.

Der angegebene Pfad und/oder Dateiname überschreiten die vom System definierte maximale Länge.The specified path, file name, or both exceed the system-defined maximum length.

Der angegebene Pfad wurde nicht gefunden oder ist ungültig (er befindet sich z. B.auf einem nicht zugeordneten Laufwerk).The specified path is not found or is invalid (for example, it is on an unmapped drive).

Beispiele

Im folgenden Beispiel wird die Anzahl der Dateien, die mit dem angegebenen Buchstaben beginnen, gezählt.The following example counts the number of files that begin with the specified letter.

using namespace System;
using namespace System::IO;
int main()
{
   try
   {
      
      // Only get files that begin with the letter "c".
      array<String^>^dirs = Directory::GetFiles( "c:\\", "c*" );
      Console::WriteLine( "The number of files starting with c is {0}.", dirs->Length );
      Collections::IEnumerator^ myEnum = dirs->GetEnumerator();
      while ( myEnum->MoveNext() )
      {
         Console::WriteLine( myEnum->Current );
      }
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "The process failed: {0}", e );
   }

}

using System;
using System.IO;

class Test 
{
    public static void Main() 
    {
        try 
        {
            // Only get files that begin with the letter "c".
            string[] dirs = Directory.GetFiles(@"c:\", "c*");
            Console.WriteLine("The number of files starting with c is {0}.", dirs.Length);
            foreach (string dir in dirs) 
            {
                Console.WriteLine(dir);
            }
        } 
        catch (Exception e) 
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }
}
Imports System.IO

Public Class Test
    Public Shared Sub Main()
        Try
            ' Only get files that begin with the letter "c".
            Dim dirs As String() = Directory.GetFiles("c:\", "c*")
            Console.WriteLine("The number of files starting with c is {0}.", dirs.Length)
            Dim dir As String
            For Each dir In dirs
                Console.WriteLine(dir)
            Next
        Catch e As Exception
            Console.WriteLine("The process failed: {0}", e.ToString())
        End Try
    End Sub
End Class

Hinweise

Die zurückgegebenen Dateinamen werden an den angegebenen path Parameter angehängt, und die Reihenfolge der zurückgegebenen Dateinamen ist nicht garantiert Sort . verwenden Sie die-Methode, wenn eine bestimmte Sortierreihenfolge erforderlich ist.The returned file names are appended to the supplied path parameter and the order of the returned file names is not guaranteed; use the Sort method if a specific sort order is required.

searchPattern kann eine Kombination von Literal-und Platzhalterzeichen, jedoch werden reguläre Ausdrücke nicht unterstützt.searchPattern can be a combination of literal and wildcard characters, but it doesn't support regular expressions. Die folgenden Platzhalter spezifiatoren sind in searchPatternzulässig.The following wildcard specifiers are permitted in searchPattern.

Platzhalter BezeichnerWildcard specifier ÜbereinstimmungenMatches
* (Sternchen)* (asterisk) NULL oder mehr Zeichen an dieser Position.Zero or more characters in that position.
?? (Fragezeichen)(question mark) NULL oder ein Zeichen an dieser Position.Zero or one character in that position.

Andere Zeichen als der Platzhalter sind Literalzeichen.Characters other than the wildcard are literal characters. Die searchPattern Zeichenfolge "*t" path sucht z. b. nach allen Namen, die mit dem Buchstaben "t" enden.For example, the searchPattern string "*t" searches for all names in path ending with the letter "t". Die searchPattern Zeichenfolge "*s" path sucht nach allen Namen, die mit dem Buchstaben "s" beginnen.The searchPattern string "s*" searches for all names in path beginning with the letter "s".

searchPatterndarf nicht mit zwei Punkten ("..") enden oder zwei Punkte ("..") enthalten, DirectorySeparatorChar auf AltDirectorySeparatorChardie oder folgt, und kann keine ungültigen Zeichen enthalten.searchPattern cannot end in two periods ("..") or contain two periods ("..") followed by DirectorySeparatorChar or AltDirectorySeparatorChar, nor can it contain any invalid characters. Sie können Abfragen für ungültige Zeichen mithilfe der GetInvalidPathChars-Methode ausführen.You can query for invalid characters by using the GetInvalidPathChars method.

Hinweis

Wenn Sie das Platzhalter Zeichen Sternchen in einem searchPattern wie "*. txt" verwenden, wirkt sich die Anzahl der Zeichen in der angegebenen Erweiterung wie folgt auf die Suche aus: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:

  • Wenn die angegebene Erweiterung genau drei Zeichen lang ist, gibt die Methode Dateien mit Erweiterungen zurück, die mit der angegebenen Erweiterung beginnen.If the specified extension is exactly three characters long, the method returns files with extensions that begin with the specified extension. Beispielsweise gibt "*. xls" sowohl "Book. xls" als auch "Book. xlsx" zurück.For example, "*.xls" returns both "book.xls" and "book.xlsx".
  • In allen anderen Fällen gibt die-Methode Dateien zurück, die exakt mit der angegebenen Erweiterung übereinstimmen.In all other cases, the method returns files that exactly match the specified extension. "*. Ai" gibt z. b. "file.ai", jedoch nicht "file. AIF" zurück.For example, "*.ai" returns "file.ai" but not "file.aif".

Wenn Sie das Fragezeichen-Platzhalter Zeichen verwenden, gibt diese Methode nur die Dateien zurück, die der angegebenen Dateierweiterung entsprechen.When you use the question mark wildcard character, this method returns only files that match the specified file extension. Angenommen, die beiden Dateien "file1. txt" und "file1. txtother" in einem Verzeichnis haben das Suchmuster "file?". txt "gibt nur die erste Datei zurück, während das Suchmuster" file*. txt "beide Dateien zurückgibt.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.

Hinweis

Da diese Methode Dateinamen sowohl mit dem Dateinamen Format 8,3 als auch mit dem langen Dateinamen Format prüft, gibt ein Suchmuster,*das*"1. txt" ähnelt, möglicherweise unerwartete Dateinamen zurück.Because this method checks against file names with both the 8.3 file name format and the long file name format, a search pattern similar to "*1*.txt" may return unexpected file names. Wenn Sie z. b. ein Suchmuster*von*"1. txt" verwenden, wird "longfilename. txt" zurückgegeben, da das entsprechende Format für den 8,3-Dateinamen "LONGFI ~ 1. txt" lautet.For example, using a search pattern of "*1*.txt" returns "longfilename.txt" because the equivalent 8.3 file name format is "LONGFI~1.TXT".

Die EnumerateFiles Methoden GetFiles und unterscheiden sich wie folgt: Wenn Sie verwenden EnumerateFiles, können Sie mit dem Auflisten der Auflistung von Namen beginnen, bevor die gesamte Auflistung zurückgegeben wird. Wenn GetFilesSie verwenden, müssen Sie darauf warten, dass das gesamte Array von Namen zurückgegeben wird, bevor Sie auf das Array zugreifen können.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. Wenn Sie also mit vielen Dateien und Verzeichnissen arbeiten, EnumerateFiles kann effizienter sein.Therefore, when you are working with many files and directories, EnumerateFiles can be more efficient.

Der path -Parameter kann relative oder absolute Pfadinformationen angeben.The path parameter can specify relative or absolute path information. Relative Pfadinformationen werden als relativ zum aktuellen Arbeitsverzeichnis interpretiert.Relative path information is interpreted as relative to the current working directory. Informationen zum Abrufen des aktuellen Arbeitsverzeichnisses finden GetCurrentDirectorySie unter.To obtain the current working directory, see GetCurrentDirectory.

Der path -Parameter berücksichtigt nicht die Groß-/Kleinschreibung.The path parameter is not case-sensitive.

Eine Liste der allgemeinen e/a-Aufgaben finden Sie unter Allgemeine e/a-Aufgaben.For a list of common I/O tasks, see Common I/O Tasks.

Sicherheit

FileIOPermission
für den Zugriff auf Pfadinformationen für das aktuelle Verzeichnis.for access to path information for the current directory. Zugehörige Enumeration:PathDiscoveryAssociated enumeration: PathDiscovery

Siehe auch

GetFiles(String, String, EnumerationOptions) GetFiles(String, String, EnumerationOptions) GetFiles(String, String, EnumerationOptions)

public:
 static cli::array <System::String ^> ^ GetFiles(System::String ^ path, System::String ^ searchPattern, System::IO::EnumerationOptions ^ enumerationOptions);
public static string[] GetFiles (string path, string searchPattern, System.IO.EnumerationOptions enumerationOptions);
static member GetFiles : string * string * System.IO.EnumerationOptions -> string[]

Parameter

searchPattern
String String String String

Gibt zurück

String[]

GetFiles(String, String, SearchOption) GetFiles(String, String, SearchOption) GetFiles(String, String, SearchOption)

Gibt die Namen der Dateien (einschließlich der zugehörigen Pfade) zurück, die dem angegebenen Suchmuster im angegebenen Verzeichnis entsprechen. Anhand eines Werts wird bestimmt, ob Unterverzeichnisse durchsucht werden sollen.Returns the names of files (including their paths) that match the specified search pattern in the specified directory, using a value to determine whether to search subdirectories.

public:
 static cli::array <System::String ^> ^ GetFiles(System::String ^ path, System::String ^ searchPattern, System::IO::SearchOption searchOption);
public static string[] GetFiles (string path, string searchPattern, System.IO.SearchOption searchOption);
static member GetFiles : string * string * System.IO.SearchOption -> string[]

Parameter

path
String String String String

Der relative oder absolute Pfad zum Verzeichnis, das durchsucht werden soll.The relative or absolute path to the directory to search. Bei dieser Zeichenfolge wird die Groß-/Kleinschreibung nicht berücksichtigt.This string is not case-sensitive.

searchPattern
String String String String

Die Suchzeichenfolge für die Überprüfung der Namen von Dateien in path auf Übereinstimmungen.The search string to match against the names of files in path. Dieser Parameter kann eine Kombination aus gültigen Literalpfad- und Platzhalterzeichen (* und ?) enthalten, unterstützt jedoch keine regulären Ausdrücke.This parameter can contain a combination of valid literal path and wildcard (* and ?) characters, but it doesn't support regular expressions.

searchOption
SearchOption SearchOption SearchOption SearchOption

Einer der Enumerationswerte, der angibt, ob nur das aktuelle Verzeichnis oder auch alle Unterverzeichnisse durchsucht werden sollen.One of the enumeration values that specifies whether the search operation should include all subdirectories or only the current directory.

Gibt zurück

String[]

Ein Array der vollständigen Namen der Dateien im angegebenen Verzeichnis (einschließlich der Pfade), die dem angegebenen Suchmuster und der Option entsprechen, oder ein leeres Array, wenn keine Dateien gefunden werden.An array of the full names (including paths) for the files in the specified directory that match the specified search pattern and option, or an empty array if no files are found.

Ausnahmen

path ist eine leere Zeichenfolge, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen.path is a zero-length string, contains only white space, or contains one or more invalid characters. Sie können Abfragen für ungültige Zeichen mithilfe der GetInvalidPathChars()-Methode ausführen.You can query for invalid characters with the GetInvalidPathChars() method.

- oder - -or- searchPattern enthält kein gültiges Muster.searchPattern does not contain a valid pattern.

path oder searchpattern ist null.path or searchpattern is null.

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.The caller does not have the required permission.

Der angegebene Pfad wurde nicht gefunden oder ist ungültig (er befindet sich z. B.auf einem nicht zugeordneten Laufwerk).The specified path is not found or is invalid (for example, it is on an unmapped drive).

Der angegebene Pfad und/oder Dateiname überschreiten die vom System definierte maximale Länge.The specified path, file name, or both exceed the system-defined maximum length.

path ist ein Dateiname.path is a file name.

- oder - -or- Netzwerkfehler.A network error has occurred.

Hinweise

Die zurückgegebenen Dateinamen werden an den angegebenen Parameter path angehängt, und die Reihenfolge der zurückgegebenen Dateinamen ist nicht garantiert Sort . verwenden Sie die-Methode, wenn eine bestimmte Sortierreihenfolge erforderlich ist.The returned file names are appended to the supplied parameter path and the order of the returned file names is not guaranteed; use the Sort method if a specific sort order is required.

searchPattern kann eine Kombination von Literal-und Platzhalterzeichen, jedoch werden reguläre Ausdrücke nicht unterstützt.searchPattern can be a combination of literal and wildcard characters, but it doesn't support regular expressions. Die folgenden Platzhalter spezifiatoren sind in searchPatternzulässig.The following wildcard specifiers are permitted in searchPattern.

Platzhalter BezeichnerWildcard specifier ÜbereinstimmungenMatches
* (Sternchen)* (asterisk) NULL oder mehr Zeichen an dieser Position.Zero or more characters in that position.
?? (Fragezeichen)(question mark) NULL oder ein Zeichen an dieser Position.Zero or one character in that position.

Andere Zeichen als der Platzhalter sind Literalzeichen.Characters other than the wildcard are literal characters. Die searchPattern Zeichenfolge "*t" path sucht z. b. nach allen Namen, die mit dem Buchstaben "t" enden.For example, the searchPattern string "*t" searches for all names in path ending with the letter "t". Die searchPattern Zeichenfolge "*s" path sucht nach allen Namen, die mit dem Buchstaben "s" beginnen.The searchPattern string "s*" searches for all names in path beginning with the letter "s".

searchPatterndarf nicht mit zwei Punkten ("..") enden oder zwei Punkte ("..") enthalten, DirectorySeparatorChar auf AltDirectorySeparatorChardie oder folgt, und kann keine ungültigen Zeichen enthalten.searchPattern cannot end in two periods ("..") or contain two periods ("..") followed by DirectorySeparatorChar or AltDirectorySeparatorChar, nor can it contain any invalid characters. Sie können Abfragen für ungültige Zeichen mithilfe der GetInvalidPathChars-Methode ausführen.You can query for invalid characters by using the GetInvalidPathChars method.

Hinweis

Wenn Sie das Platzhalter Zeichen Sternchen in einem searchPattern wie "*. txt" verwenden, wirkt sich die Anzahl der Zeichen in der angegebenen Erweiterung wie folgt auf die Suche aus: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:

  • Wenn die angegebene Erweiterung genau drei Zeichen lang ist, gibt die Methode Dateien mit Erweiterungen zurück, die mit der angegebenen Erweiterung beginnen.If the specified extension is exactly three characters long, the method returns files with extensions that begin with the specified extension. Beispielsweise gibt "*. xls" sowohl "Book. xls" als auch "Book. xlsx" zurück.For example, "*.xls" returns both "book.xls" and "book.xlsx".
  • In allen anderen Fällen gibt die-Methode Dateien zurück, die exakt mit der angegebenen Erweiterung übereinstimmen.In all other cases, the method returns files that exactly match the specified extension. "*. Ai" gibt z. b. "file.ai", jedoch nicht "file. AIF" zurück.For example, "*.ai" returns "file.ai" but not "file.aif".

Wenn Sie das Fragezeichen-Platzhalter Zeichen verwenden, gibt diese Methode nur die Dateien zurück, die der angegebenen Dateierweiterung entsprechen.When you use the question mark wildcard character, this method returns only files that match the specified file extension. Angenommen, die beiden Dateien "file1. txt" und "file1. txtother" in einem Verzeichnis haben das Suchmuster "file?". txt "gibt nur die erste Datei zurück, während ein Suchmuster von" file*. txt "beide Dateien zurückgibt.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.

Hinweis

Da diese Methode Dateinamen sowohl mit dem Dateinamen Format 8,3 als auch mit dem langen Dateinamen Format prüft, gibt ein Suchmuster,*das*"1. txt" ähnelt, möglicherweise unerwartete Dateinamen zurück.Because this method checks against file names with both the 8.3 file name format and the long file name format, a search pattern similar to "*1*.txt" may return unexpected file names. Wenn Sie z. b. ein Suchmuster*von*"1. txt" verwenden, wird "longfilename. txt" zurückgegeben, da das entsprechende Format für den 8,3-Dateinamen "LONGFI ~ 1. txt" lautet.For example, using a search pattern of "*1*.txt" returns "longfilename.txt" because the equivalent 8.3 file name format is "LONGFI~1.TXT".

Die EnumerateFiles Methoden GetFiles und unterscheiden sich wie folgt: Wenn Sie verwenden EnumerateFiles, können Sie mit dem Auflisten der Auflistung von Namen beginnen, bevor die gesamte Auflistung zurückgegeben wird. Wenn GetFilesSie verwenden, müssen Sie darauf warten, dass das gesamte Array von Namen zurückgegeben wird, bevor Sie auf das Array zugreifen können.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. Wenn Sie also mit vielen Dateien und Verzeichnissen arbeiten, EnumerateFiles kann effizienter sein.Therefore, when you are working with many files and directories, EnumerateFiles can be more efficient.

Die Dateinamen enthalten den vollständigen Pfad.The file names include the full path.

Der path -Parameter kann relative oder absolute Pfadinformationen angeben.The path parameter can specify relative or absolute path information. Relative Pfadinformationen werden als relativ zum aktuellen Arbeitsverzeichnis interpretiert.Relative path information is interpreted as relative to the current working directory. Informationen zum Abrufen des aktuellen Arbeitsverzeichnisses finden GetCurrentDirectorySie unter.To obtain the current working directory, see GetCurrentDirectory.

Der path -Parameter berücksichtigt nicht die Groß-/Kleinschreibung.The path parameter is not case-sensitive.

Eine Liste der allgemeinen e/a-Aufgaben finden Sie unter Allgemeine e/a-Aufgaben.For a list of common I/O tasks, see Common I/O Tasks.

Sicherheit

FileIOPermission
für den Zugriff auf Pfadinformationen für das aktuelle Verzeichnis.for access to path information for the current directory. Zugehörige Enumeration:PathDiscoveryAssociated enumeration: PathDiscovery

Siehe auch

Gilt für: