DirectoryInfo.GetDirectories Methode

Definition

Gibt die Unterverzeichnisse des aktuellen Verzeichnisses zurück.

Überlädt

Name Beschreibung
GetDirectories()

Gibt die Unterverzeichnisse des aktuellen Verzeichnisses zurück.

GetDirectories(String)

Gibt ein Array von Verzeichnissen in der aktuellen DirectoryInfo Übereinstimmung mit den angegebenen Suchkriterien zurück.

GetDirectories(String, EnumerationOptions)

Gibt ein Array von Verzeichnissen in der aktuellen DirectoryInfo Übereinstimmung mit den angegebenen Suchmuster- und Enumerationsoptionen zurück.

GetDirectories(String, SearchOption)

Gibt ein Array von Verzeichnissen zurück, das den DirectoryInfo angegebenen Suchkriterien entspricht und einen Wert verwendet, um zu bestimmen, ob Unterverzeichnisse durchsucht werden sollen.

GetDirectories()

Gibt die Unterverzeichnisse des aktuellen Verzeichnisses zurück.

public:
 cli::array <System::IO::DirectoryInfo ^> ^ GetDirectories();
public System.IO.DirectoryInfo[] GetDirectories();
member this.GetDirectories : unit -> System.IO.DirectoryInfo[]
Public Function GetDirectories () As DirectoryInfo()

Gibt zurück

Ein Array von DirectoryInfo-Objekten.

Ausnahmen

Der im DirectoryInfo Objekt gekapselte Pfad ist ungültig, z. B. auf einem nicht zugeordneten Laufwerk.

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

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

Beispiele

Im folgenden Beispiel werden alle Verzeichnisse im Stammverzeichnis abgerufen und die Verzeichnisnamen angezeigt.

using System;
using System.IO;

public class GetDirectoriesTest
{
    public static void Main()
    {

        // Make a reference to a directory.
        DirectoryInfo di = new DirectoryInfo("c:\\");

        // Get a reference to each directory in that directory.
        DirectoryInfo[] diArr = di.GetDirectories();

        // Display the names of the directories.
        foreach (DirectoryInfo dri in diArr)
            Console.WriteLine(dri.Name);
    }
}
open System.IO

// Make a reference to a directory.
let di = DirectoryInfo "c:\\"

// Get a reference to each directory in that directory.
let diArr = di.GetDirectories()

// Display the names of the directories.
for dri in diArr do
    printfn $"{dri.Name}"
Imports System.IO

Public Class GetDirectoriesTest

    Public Shared Sub Main()
        ' Make a reference to a directory.
        Dim di As New DirectoryInfo("c:\")
        ' Get a reference to each directory in that directory.
        Dim diArr As DirectoryInfo() = di.GetDirectories()
        ' Display the names of the directories.
        Dim dri As DirectoryInfo
        For Each dri In diArr
            Console.WriteLine(dri.Name)
        Next dri
    End Sub
End Class

Hinweise

Wenn keine Unterverzeichnisse vorhanden sind, gibt diese Methode ein leeres Array zurück. Diese Methode ist nicht rekursiv.

Diese Methode füllt die Werte der folgenden DirectoryInfo Eigenschaften vor:

Weitere Informationen

Gilt für:

GetDirectories(String)

Gibt ein Array von Verzeichnissen in der aktuellen DirectoryInfo Übereinstimmung mit den angegebenen Suchkriterien zurück.

public:
 cli::array <System::IO::DirectoryInfo ^> ^ GetDirectories(System::String ^ searchPattern);
public System.IO.DirectoryInfo[] GetDirectories(string searchPattern);
member this.GetDirectories : string -> System.IO.DirectoryInfo[]
Public Function GetDirectories (searchPattern As String) As DirectoryInfo()

Parameter

searchPattern
String

Die Suchzeichenfolge, die mit den Namen von Verzeichnissen abgeglichen werden soll. Dieser Parameter kann eine Kombination aus gültigen Literalpfad- und Wildcardzeichen (* und ?) enthalten, unterstützt aber keine regulären Ausdrücke.

Gibt zurück

Ein Array vom Typabgleich DirectoryInfosearchPattern.

Ausnahmen

.NET Framework- und .NET Core-Versionen, die älter als 2.1 sind: searchPattern enthält mindestens ein ungültiges Zeichen, das von der GetInvalidPathChars() Methode definiert ist.

searchPattern ist null.

Der im DirectoryInfo Objekt gekapselte Pfad ist ungültig (z. B. auf einem nicht zugeordneten Laufwerk).

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

Beispiele

Im folgenden Beispiel werden die Verzeichnisse in einem Pfad zählt, der den angegebenen Buchstaben enthält.

using System;
using System.IO;

class Test
{
    public static void Main()
    {
        try
        {
            DirectoryInfo di = new DirectoryInfo(@"c:\");

            // Get only subdirectories that contain the letter "p."
            DirectoryInfo[] dirs = di.GetDirectories("*p*");
            Console.WriteLine("The number of directories containing the letter p is {0}.", dirs.Length);

            foreach (DirectoryInfo diNext in dirs)
            {
                Console.WriteLine("The number of files in {0} is {1}", diNext,
                    diNext.GetFiles().Length);
            }
        }
        catch (Exception e)
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }
}
open System.IO

try
    let di = DirectoryInfo @"c:\"

    // Get only subdirectories that contain the letter "p."
    let dirs = di.GetDirectories "*p*"
    printfn $"The number of directories containing the letter p is {dirs.Length}."

    for diNext in dirs do
        printfn $"The number of files in {diNext} is {diNext.GetFiles().Length}"
with e ->
    printfn $"The process failed: {e}"
Imports System.IO

Public Class Test
    Public Shared Sub Main()
        ' Specify the directories you want to manipulate.
        Dim di As DirectoryInfo = New DirectoryInfo("c:\")

        Try
            'Get only subdirectories that contain the letter "p."
            Dim dirs As DirectoryInfo() = di.GetDirectories("*p*")
            Console.WriteLine("The number of directories containing the letter p is {0}.", dirs.Length)
            Dim diNext As DirectoryInfo
            For Each diNext In dirs
                Console.WriteLine("The number of files in {0} is {1}", diNext, _
                 diNext.GetFiles().Length)
            Next

        Catch e As Exception
            Console.WriteLine("The process failed: {0}", e.ToString())
        End Try
    End Sub
End Class

Hinweise

searchPattern kann eine Kombination aus Literal- und Wildcardzeichen sein, aber reguläre Ausdrücke werden nicht unterstützt. Die folgenden Wildcardspezifizierer sind zulässig in searchPattern.

Wildcardbezeichner Treffer
* (Sternchen) Null oder mehr Zeichen an dieser Position.
? (Fragezeichen) Null oder ein Zeichen an dieser Position.

Andere Zeichen als der Wildcard sind Literalzeichen. Beispielsweise sucht die Zeichenfolge "*t" nach allen Namen, die mit dem Buchstaben "t" enden. ". Die searchPattern Zeichenfolge "s*" sucht nach allen Namen, die path mit dem Buchstaben "s" beginnen.

Diese Methode füllt die Werte der folgenden DirectoryInfo Eigenschaften vor:

Weitere Informationen

Gilt für:

GetDirectories(String, EnumerationOptions)

Gibt ein Array von Verzeichnissen in der aktuellen DirectoryInfo Übereinstimmung mit den angegebenen Suchmuster- und Enumerationsoptionen zurück.

public:
 cli::array <System::IO::DirectoryInfo ^> ^ GetDirectories(System::String ^ searchPattern, System::IO::EnumerationOptions ^ enumerationOptions);
public System.IO.DirectoryInfo[] GetDirectories(string searchPattern, System.IO.EnumerationOptions enumerationOptions);
member this.GetDirectories : string * System.IO.EnumerationOptions -> System.IO.DirectoryInfo[]
Public Function GetDirectories (searchPattern As String, enumerationOptions As EnumerationOptions) As DirectoryInfo()

Parameter

searchPattern
String

Die Suchzeichenfolge, die mit den Namen von Verzeichnissen abgeglichen werden soll. Dieser Parameter kann eine Kombination aus gültigen Literalpfad- und Wildcardzeichen (* und ?) enthalten, unterstützt aber keine regulären Ausdrücke.

enumerationOptions
EnumerationOptions

Ein Objekt, das die zu verwendende Such- und Enumerationskonfiguration beschreibt.

Gibt zurück

Ein Array vom Typabgleich DirectoryInfosearchPattern und enumerationOptions.

Ausnahmen

.NET Framework- und .NET Core-Versionen, die älter als 2.1 sind: searchPattern enthält mindestens ein ungültiges Zeichen, das von der GetInvalidPathChars() Methode definiert ist.

searchPattern ist null.

Der im DirectoryInfo Objekt gekapselte Pfad ist ungültig (z. B. auf einem nicht zugeordneten Laufwerk).

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

Hinweise

searchPattern kann eine Kombination aus Literal- und Wildcardzeichen sein, aber reguläre Ausdrücke werden nicht unterstützt. Die folgenden Wildcardspezifizierer sind zulässig in searchPattern.

Wildcardbezeichner Treffer
* (Sternchen) Null oder mehr Zeichen an dieser Position.
? (Fragezeichen) Null oder ein Zeichen an dieser Position.

Andere Zeichen als der Wildcard sind Literalzeichen. Beispielsweise sucht die Zeichenfolge "*t" nach allen Namen, die mit dem Buchstaben "t" enden. ". Die searchPattern Zeichenfolge "s*" sucht nach allen Namen, die path mit dem Buchstaben "s" beginnen.

Diese Methode füllt die Werte der folgenden DirectoryInfo Eigenschaften vor:

Gilt für:

GetDirectories(String, SearchOption)

Gibt ein Array von Verzeichnissen zurück, das den DirectoryInfo angegebenen Suchkriterien entspricht und einen Wert verwendet, um zu bestimmen, ob Unterverzeichnisse durchsucht werden sollen.

public:
 cli::array <System::IO::DirectoryInfo ^> ^ GetDirectories(System::String ^ searchPattern, System::IO::SearchOption searchOption);
public System.IO.DirectoryInfo[] GetDirectories(string searchPattern, System.IO.SearchOption searchOption);
member this.GetDirectories : string * System.IO.SearchOption -> System.IO.DirectoryInfo[]
Public Function GetDirectories (searchPattern As String, searchOption As SearchOption) As DirectoryInfo()

Parameter

searchPattern
String

Die Suchzeichenfolge, die mit den Namen von Verzeichnissen abgeglichen werden soll. Dieser Parameter kann eine Kombination aus gültigen Literalpfad- und Wildcardzeichen (* und ?) enthalten, unterstützt aber keine regulären Ausdrücke.

searchOption
SearchOption

Einer der Enumerationswerte, der angibt, ob der Suchvorgang nur das aktuelle Verzeichnis oder alle Unterverzeichnisse enthalten soll.

Gibt zurück

Ein Array vom Typabgleich DirectoryInfosearchPattern.

Ausnahmen

.NET Framework- und .NET Core-Versionen, die älter als 2.1 sind: searchPattern enthält mindestens ein ungültiges Zeichen, das von der GetInvalidPathChars() Methode definiert ist.

searchPattern ist null.

searchOption ist kein gültiger SearchOption Wert.

Der im DirectoryInfo Objekt gekapselte Pfad ist ungültig (z. B. auf einem nicht zugeordneten Laufwerk).

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

Beispiele

Im folgenden Beispiel werden alle Verzeichnisse und Dateien aufgelistet, die mit dem Buchstaben "c" in "c:\" beginnen.

using System;
using System.IO;

class App
{
    public static void Main()
    {
        // Specify the directory you want to manipulate.
        string path = @"c:\";
        string searchPattern = "c*";

        DirectoryInfo di = new DirectoryInfo(path);
        DirectoryInfo[] directories =
            di.GetDirectories(searchPattern, SearchOption.TopDirectoryOnly);

        FileInfo[] files =
            di.GetFiles(searchPattern, SearchOption.TopDirectoryOnly);

        Console.WriteLine(
            "Directories that begin with the letter \"c\" in {0}", path);
        foreach (DirectoryInfo dir in directories)
        {
            Console.WriteLine(
                "{0,-25} {1,25}", dir.FullName, dir.LastWriteTime);
        }

        Console.WriteLine();
        Console.WriteLine(
            "Files that begin with the letter \"c\" in {0}", path);
        foreach (FileInfo file in files)
        {
            Console.WriteLine(
                "{0,-25} {1,25}", file.Name, file.LastWriteTime);
        }
    } // Main()
} // App()
open System.IO

// Specify the directory you want to manipulate.
let path = @"c:\"
let searchPattern = "c*"

let di = DirectoryInfo path
let directories = di.GetDirectories(searchPattern, SearchOption.TopDirectoryOnly)

let files = di.GetFiles(searchPattern, SearchOption.TopDirectoryOnly)

printfn $"Directories that begin with the letter \"c\" in {path}"
for dir in directories do
    printfn $"{dir.FullName,-25} {dir.LastWriteTime,25}"

printfn $"\nFiles that begin with the letter \"c\" in {path}"
for file in files do
    printfn $"{file.Name,-25} {file.LastWriteTime,25}"
Imports System.IO

Class App
    Public Shared Sub Main()
        ' Specify the directory you want to manipulate.
        Dim path As String = "c:\\"
        Dim searchPattern As String = "c*"

        Dim di As DirectoryInfo = New DirectoryInfo(path)
        Dim directories() As DirectoryInfo = _
            di.GetDirectories(searchPattern, SearchOption.TopDirectoryOnly)

        Dim files() As FileInfo = _
            di.GetFiles(searchPattern, SearchOption.TopDirectoryOnly)

        Console.WriteLine( _
            "Directories that begin with the letter 'c' in {0}", path)
        Dim dir As DirectoryInfo
        For Each dir In directories
            Console.WriteLine( _
                "{0,-25} {1,25}", dir.FullName, dir.LastWriteTime)
        Next dir

        Console.WriteLine()
        Console.WriteLine( _
            "Files that begin with the letter 'c' in {0}", path)
        Dim file As FileInfo
        For Each file In files
            Console.WriteLine( _
                "{0,-25} {1,25}", file.Name, file.LastWriteTime)
        Next file
    End Sub
End Class

Hinweise

searchPattern kann eine Kombination aus Literal- und Wildcardzeichen sein, aber reguläre Ausdrücke werden nicht unterstützt. Die folgenden Wildcardspezifizierer sind zulässig in searchPattern.

Wildcardbezeichner Treffer
* (Sternchen) Null oder mehr Zeichen an dieser Position.
? (Fragezeichen) Null oder ein Zeichen an dieser Position.

Andere Zeichen als der Wildcard sind Literalzeichen. Beispielsweise sucht die Zeichenfolge "*t" nach allen Namen, die mit dem Buchstaben "t" enden. ". Die searchPattern Zeichenfolge "s*" sucht nach allen Namen, die path mit dem Buchstaben "s" beginnen.

Wenn keine Unterverzeichnisse vorhanden sind oder keine Unterverzeichnisse mit dem searchPattern Parameter übereinstimmen, gibt diese Methode ein leeres Array zurück.

Diese Methode füllt die Werte der folgenden DirectoryInfo Eigenschaften vor:

Weitere Informationen

Gilt für: