Auf Englisch lesen

Freigeben über


Directory.Exists(String) Methode

Definition

Bestimmt, ob der angegebene Pfad auf ein vorhandenes Verzeichnis auf einem Datenträger verweist.

public static bool Exists (string path);
public static bool Exists (string? path);

Parameter

path
String

Der zu testende Pfad.

Gibt zurück

true, wenn sich path auf ein vorhandenes Verzeichnis bezieht; false, wenn ein Verzeichnis nicht vorhanden ist, oder wenn beim Versuch festzustellen, ob ein angegebenes Verzeichnis vorhanden ist, ein Fehler auftritt.

Beispiele

Im folgenden Beispiel wird ein Array von Datei- oder Verzeichnisnamen in der Befehlszeile verwendet, die Art des Namens bestimmt und entsprechend verarbeitet.

// 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);	
    }
}

Hinweise

Der path Parameter darf relative oder absolute Pfadinformationen angeben. Relative Pfadinformationen werden relativ zum aktuellen Arbeitsverzeichnis interpretiert.

Nachfolgende Leerzeichen werden am Ende des path Parameters entfernt, bevor überprüft wird, ob das Verzeichnis vorhanden ist.

Die Groß-/Kleinschreibung des path Parameters entspricht der des Dateisystems, in dem der Code ausgeführt wird. Beispielsweise wird bei NTFS (dem standardmäßigen Windows-Dateisystem) die Groß-/Kleinschreibung und bei Linux-Dateisystemen die Groß-/Kleinschreibung nicht beachtet.

Wenn Sie nicht mindestens über eine schreibgeschützte Berechtigung für das Verzeichnis verfügen, gibt die Exists -Methode zurück false.

Die Exists -Methode gibt zurück false , wenn beim Versuch, zu ermitteln, ob die angegebene Datei vorhanden ist, ein Fehler auftritt. Dies kann in Situationen auftreten, in denen Ausnahmen ausgelöst werden, z. B. das Übergeben eines Dateinamens mit ungültigen Zeichen oder zu vielen Zeichen, ein fehlerhafter oder fehlender Datenträger oder wenn der Aufrufer nicht über die Berechtigung zum Lesen der Datei verfügt.

Gilt für:

Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Weitere Informationen