Windows Dev Center

Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Informationen
Das angeforderte Thema wird unten angezeigt. Es ist jedoch nicht in dieser Bibliothek vorhanden.

Directory.GetFileSystemEntries-Methode (String, String)

Gibt ein Array von Dateinamen und Verzeichnisnamen zurück, die diese Übereinstimmung ein Suchmuster in einem angegebenen Pfad.

Namespace:  System.IO
Assembly:  mscorlib (in mscorlib.dll)

public static string[] GetFileSystemEntries(
	string path,
	string searchPattern
)

Parameter

path
Typ: System.String
Der relative oder absolute Pfad zu durchsuchende Verzeichnis. Bei dieser Zeichenfolge wird die Groß-/Kleinschreibung nicht berücksichtigt.
searchPattern
Typ: System.String
Die Suchzeichenfolge in Anpassung an die Namen der Datei und Verzeichnisse in path. Dieser Parameter kann eine Kombination von gültigen literalen Pfads und Platzhalter(* und?) Zeichen enthält (siehe Hinweise), unterstützt jedoch nicht reguläre Ausdrücke.

Rückgabewert

Typ: System.String[]
Ein Array Dateinamen und Verzeichnisnamen, die die angegebenen Suchkriterien übereinstimmen oder ein leeres Array, wenn keine Dateien oder Verzeichnisse gefunden werden.

AusnahmeBedingung
UnauthorizedAccessException

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.

ArgumentException

path ist eine Zeichenfolge der Länge 0 (null), besteht nur aus Leerraum oder enthält ein oder mehrere ungültige Zeichen. Sie können für ungültige Zeichen mit der GetInvalidPathChars-Methode abfragen.

- oder -

searchPattern enthält kein gültiges Muster.

ArgumentNullException

path oder searchPattern ist null.

PathTooLongException

Der angegebene Pfad und/oder der Dateiname überschreiten die vom System vorgegebene Höchstlänge. Beispielsweise dürfen auf Windows-Plattformen Pfade nicht länger als 247 Zeichen und Dateinamen nicht länger als 259 Zeichen sein.

IOException

path ist ein Dateiname.

DirectoryNotFoundException

Der angegebene Pfad ist ungültig (z. B. befindet er sich auf einem nicht zugeordneten Laufwerk).

Die Reihenfolge der zurückgegebenen Datei- und Verzeichnisnamen ist nicht gewährleistet; verwenden Sie die Sort()-Methode, wenn eine bestimmte Sortierreihenfolge erforderlich ist.

searchPattern kann eine Kombination des Literals und Platzhalterzeichen sein, unterstützt aber keine regulären Ausdrücke. Die folgenden Bezeichner für Platzhalter sind in searchPattern zulässig.

Platzhalterspezifizierer

Übereinstimmungen

* (Sternchen)

0 oder mehr Zeichen an dieser Stelle.

? (Fragezeichen)

Null oder ein Zeichen an dieser Position.

Zeichen als dem Platzhalter sind Literalzeichen. Mit der searchPattern-Zeichenfolge "*t" werden z. B. alle Namen in path gesucht, die auf den Buchstaben "t" enden. Mit der searchPattern-Zeichenfolge "s*" werden alle Namen in path gesucht, die mit dem Buchstaben "s" beginnen.

searchPattern kann nicht in beiden Punkte beenden ("." enthalten.) oder zwei Punkte (". . ") gefolgt von DirectorySeparatorChar oder AltDirectorySeparatorChar trotzdem kann es alle unzulässigen Zeichen enthalten. Sie können für ungültige Zeichen abfragen, indem Sie die GetInvalidPathChars-Methode.

HinweisHinweis

Wenn Sie das Platzhalterzeichen Sternchen in searchPattern z "*.txt" verwenden, hat die Anzahl der Zeichen in der angegebenen Erweiterung die Suchfunktion, wie folgt:

  • Wenn die angegebene Erweiterung genau drei Zeichen lang ist, gibt die Methode Dateien mit Erweiterungen zurückgegeben, die mit der angegebenen Erweiterung starten. Durch "*.xls" gibt "book.xls" und "book.xlsx" zurück.

  • In allen anderen Fällen ist die Methode Dateien zurück, die genau mit der angegebenen Erweiterung übereinstimmen. Beispiel "*.ai" gibt "file.ai" jedoch nicht "file.aif" zurück.

Wenn Sie das Fragezeichenplatzhalterzeichen Dateien verwenden, gibt diese Methode nur diese Übereinstimmung die angegebene Dateierweiterung. Beispielsweise zwei Dateien, "file1.txt" und "file1.txtother" zugewiesen, in ein Verzeichnis, ein Suchmuster "Datei? .txt" gibt derzeit der ersten Datei zurück, während ein Suchmuster von "file*.txt" beiden Dateien zurückgegeben.

Mit dem path-Parameter dürfen relative oder absolute Pfadinformationen angegeben werden. Relative Pfadinformationen werden relativ zum aktuellen Arbeitsverzeichnis interpretiert. Informationen zum Abrufen des aktuellen Arbeitsverzeichnisses finden Sie unter GetCurrentDirectory.

Beim path-Parameter wird nicht zwischen Groß- und Kleinschreibung unterschieden.

Eine Liste allgemeiner E/A-Aufgaben finden Sie unter Allgemeine E/A-Aufgaben.

Im folgenden Beispiel wird mit der GetFileSystemEntries-Methode ein Zeichenfolgenarray mit den Namen aller Dateien gefüllt, die einem benutzerdefinierten Filter in einem bestimmten Verzeichnis entsprechen, und die einzelnen Zeichenfolgen im Array werden an der Konsole ausgegeben. Das Beispiel ist so konfiguriert, dass alle Fehler abgefangen werden, die dieser Methode gemeinsam sind.


using System;

namespace GetFileSystemEntries
{
    class Class1 
    {
        static void Main(string[] args) 
        {
            Class1 snippets = new Class1();

            string path = System.IO.Directory.GetCurrentDirectory();
            string filter = "*.exe";

            snippets.PrintFileSystemEntries(path);
            snippets.PrintFileSystemEntries(path, filter);		
            snippets.GetLogicalDrives();
            snippets.GetParent(path);
            snippets.Move("C:\\proof", "C:\\Temp");
        }

		
        void PrintFileSystemEntries(string path) 
        {
			
            try 
            {
                // Obtain the file system entries in the directory path.
                string[] directoryEntries =
                    System.IO.Directory.GetFileSystemEntries(path); 

                foreach (string str in directoryEntries) 
                {
                    System.Console.WriteLine(str);
                }
            }
            catch (ArgumentNullException) 
            {
                System.Console.WriteLine("Path is a null reference.");
            }
            catch (System.Security.SecurityException) 
            {
                System.Console.WriteLine("The caller does not have the " +
                    "required permission.");
            }
            catch (ArgumentException) 
            {
                System.Console.WriteLine("Path is an empty string, " +
                    "contains only white spaces, " + 
                    "or contains invalid characters.");
            }
            catch (System.IO.DirectoryNotFoundException) 
            {
                System.Console.WriteLine("The path encapsulated in the " + 
                    "Directory object does not exist.");
            }
        }
        void PrintFileSystemEntries(string path, string pattern) 
        {
            try 
            {
                // Obtain the file system entries in the directory
                // path that match the pattern.
                string[] directoryEntries =
                    System.IO.Directory.GetFileSystemEntries(path, pattern); 

                foreach (string str in directoryEntries) 
                {
                    System.Console.WriteLine(str);
                }
            }
            catch (ArgumentNullException) 
            {
                System.Console.WriteLine("Path is a null reference.");
            }
            catch (System.Security.SecurityException) 
            {
                System.Console.WriteLine("The caller does not have the " +
                    "required permission.");
            }
            catch (ArgumentException) 
            {
                System.Console.WriteLine("Path is an empty string, " +
                    "contains only white spaces, " + 
                    "or contains invalid characters.");
            }
            catch (System.IO.DirectoryNotFoundException) 
            {
                System.Console.WriteLine("The path encapsulated in the " + 
                    "Directory object does not exist.");
            }
        }

        // Print out all logical drives on the system.
        void GetLogicalDrives() 
        {
            try 
            {
                string[] drives = System.IO.Directory.GetLogicalDrives();

                foreach (string str in drives) 
                {
                    System.Console.WriteLine(str);
                }
            }
            catch (System.IO.IOException) 
            {
                System.Console.WriteLine("An I/O error occurs.");
            }
            catch (System.Security.SecurityException) 
            {
                System.Console.WriteLine("The caller does not have the " +
                    "required permission.");
            }
        }
        void GetParent(string path) 
        {
            try 
            {
                System.IO.DirectoryInfo directoryInfo =
                    System.IO.Directory.GetParent(path);

                System.Console.WriteLine(directoryInfo.FullName);
            }
            catch (ArgumentNullException) 
            {
                System.Console.WriteLine("Path is a null reference.");
            }
            catch (ArgumentException) 
            {
                System.Console.WriteLine("Path is an empty string, " +
                    "contains only white spaces, or " +
                    "contains invalid characters.");
            }
        }
        void Move(string sourcePath, string destinationPath) 
        {
            try 
            {
                System.IO.Directory.Move(sourcePath, destinationPath);
                System.Console.WriteLine("The directory move is complete.");
            }
            catch (ArgumentNullException) 
            {
                System.Console.WriteLine("Path is a null reference.");
            }
            catch (System.Security.SecurityException) 
            {
                System.Console.WriteLine("The caller does not have the " +
                    "required permission.");
            }
            catch (ArgumentException) 
            {
                System.Console.WriteLine("Path is an empty string, " +
                    "contains only white spaces, " + 
                    "or contains invalid characters.");	
            }
            catch (System.IO.IOException) 
            {
                System.Console.WriteLine("An attempt was made to move a " +
                    "directory to a different " +
                    "volume, or destDirName " +
                    "already exists."); 
            }
        }
    }
}


.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

Anzeigen:
© 2015 Microsoft