DirectoryInfo.GetDirectories Methode

Definition

Gibt die Unterverzeichnisse des aktuellen Verzeichnisses zurück.Returns the subdirectories of the current directory.

Überlädt

GetDirectories()

Gibt die Unterverzeichnisse des aktuellen Verzeichnisses zurück.Returns the subdirectories of the current directory.

GetDirectories(String)

Gibt ein Array von Verzeichnissen im aktuellen DirectoryInfo zurück, die den angegebenen Suchkriterien entsprechen.Returns an array of directories in the current DirectoryInfo matching the given search criteria.

GetDirectories(String, EnumerationOptions)

Gibt ein Array von Verzeichnissen im aktuellen DirectoryInfo zurück, das dem angegebenen Suchmuster und den angegebenen Enumerationsoptionen entspricht.Returns an array of directories in the current DirectoryInfo matching the specified search pattern and enumeration options.

GetDirectories(String, SearchOption)

Gibt ein Array von Verzeichnissen im aktuellen DirectoryInfo zurück, die den angegebenen Suchkriterien entsprechen. Anhand eines Werts wird bestimmt, ob in Unterverzeichnissen gesucht wird.Returns an array of directories in the current DirectoryInfo matching the given search criteria and using a value to determine whether to search subdirectories.

GetDirectories()

Gibt die Unterverzeichnisse des aktuellen Verzeichnisses zurück.Returns the subdirectories of the current directory.

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.An array of DirectoryInfo objects.

Ausnahmen

Der im DirectoryInfo-Objekt gekapselte Pfad ist ungültig, da er sich z. B. auf einem nicht zugeordneten Laufwerk befindet.The path encapsulated in the DirectoryInfo object is invalid, such as being on an unmapped drive.

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

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

Beispiele

Im folgenden Beispiel werden alle Verzeichnisse im Stammverzeichnis abgerufen, und die Verzeichnisnamen werden angezeigt.The following example retrieves all the directories in the root directory and displays the directory names.

using namespace System;
using namespace System::IO;
int main()
{
   
   // Make a reference to a directory.
   DirectoryInfo^ di = gcnew DirectoryInfo( "c:\\" );
   
   // Get a reference to each directory in that directory.
   array<DirectoryInfo^>^diArr = di->GetDirectories();
   
   // Display the names of the directories.
   Collections::IEnumerator^ myEnum = diArr->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      DirectoryInfo^ dri = safe_cast<DirectoryInfo^>(myEnum->Current);
      Console::WriteLine( dri->Name );
   }
}

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);
    }
}
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.If there are no subdirectories, this method returns an empty array. Diese Methode ist nicht rekursiv.This method is not recursive.

Diese Methode füllt die Werte der folgenden DirectoryInfo Eigenschaften vorab auf:This method pre-populates the values of the following DirectoryInfo properties:

Sicherheit

FileIOPermission
zum Lesen von Verzeichnissen.for reading directories. Zugehörige Enumeration: ReadAssociated enumeration: Read

Siehe auch

GetDirectories(String)

Gibt ein Array von Verzeichnissen im aktuellen DirectoryInfo zurück, die den angegebenen Suchkriterien entsprechen.Returns an array of directories in the current DirectoryInfo matching the given search criteria.

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 für die Überprüfung der Namen von Verzeichnissen auf Übereinstimmungen.The search string to match against the names of directories. 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

Ein Array vom Typ DirectoryInfo, der searchPattern entspricht.An array of type DirectoryInfo matching searchPattern.

Ausnahmen

searchPattern enthält mindestens ein ungültiges Zeichen gemäß der Definition der GetInvalidPathChars()-Methode.searchPattern contains one or more invalid characters defined by the GetInvalidPathChars() method.

searchPattern ist null.searchPattern is null.

Der im DirectoryInfo -Objekt gekapselte Pfad ist ungültig (z. B. befindet er sich auf einem nicht zugeordneten Laufwerk).The path encapsulated in the DirectoryInfo object is invalid (for example, it is on an unmapped drive).

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

Beispiele

Im folgenden Beispiel werden die Verzeichnisse in einem Pfad gezählt, der den angegebenen Buchstaben enthält.The following example counts the directories in a path that contain the specified letter.

using namespace System;
using namespace System::IO;
int main()
{
   try
   {
      DirectoryInfo^ di = gcnew DirectoryInfo( "c:\\" );
      
      // Get only subdirectories that contain the letter "p."
      array<DirectoryInfo^>^dirs = di->GetDirectories( "*p*" );
      Console::WriteLine( "The number of directories containing the letter p is {0}.", dirs->Length );
      Collections::IEnumerator^ myEnum = dirs->GetEnumerator();
      while ( myEnum->MoveNext() )
      {
         DirectoryInfo^ diNext = safe_cast<DirectoryInfo^>(myEnum->Current);
         Console::WriteLine( "The number of files in {0} is {1}", diNext, diNext->GetFiles()->Length );
      }
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "The process failed: {0}", e );
   }

}

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());
        }
    }
}
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 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 Zeichenfolge "*t" sucht z. b. nach allen Namen, die mit dem Buchstaben "t" enden.For example, the string "*t" searches for all names in ending with the letter "t". ".". Die searchPattern Zeichenfolge "s*" sucht nach allen Namen in path beginnend mit dem Buchstaben "s".The searchPattern string "s*" searches for all names in path beginning with the letter "s".

Diese Methode füllt die Werte der folgenden DirectoryInfo Eigenschaften vorab auf:This method pre-populates the values of the following DirectoryInfo properties:

Sicherheit

FileIOPermission
zum Lesen aus Dateien und Verzeichnissen und für den Zugriff auf den Pfad.for reading from files and directories and for access to the path. Zugehörige Enumerationen: ReadPathDiscoveryAssociated enumerations: Read, PathDiscovery

Siehe auch

GetDirectories(String, EnumerationOptions)

Gibt ein Array von Verzeichnissen im aktuellen DirectoryInfo zurück, das dem angegebenen Suchmuster und den angegebenen Enumerationsoptionen entspricht.Returns an array of directories in the current DirectoryInfo matching the specified search pattern and enumeration options.

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[]

Parameter

searchPattern
String

Die Suchzeichenfolge für die Überprüfung der Namen von Verzeichnissen auf Übereinstimmungen.The search string to match against the names of directories. 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.

enumerationOptions
EnumerationOptions

Ein Objekt, das die zu verwendende Such- und Enumerationskonfiguration beschreibt.An object that describes the search and enumeration configuration to use.

Gibt zurück

Ein Array vom Typ DirectoryInfo, das searchPattern und enumerationOptions entspricht.An array of type DirectoryInfo matching searchPattern and enumerationOptions.

Ausnahmen

searchPattern enthält mindestens ein ungültiges Zeichen gemäß der Definition der GetInvalidPathChars()-Methode.searchPattern contains one or more invalid characters defined by the GetInvalidPathChars() method.

searchPattern ist null.searchPattern is null.

Der im DirectoryInfo -Objekt gekapselte Pfad ist ungültig (z. B. befindet er sich auf einem nicht zugeordneten Laufwerk).The path encapsulated in the DirectoryInfo object is invalid (for example, it is on an unmapped drive).

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

Hinweise

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 Zeichenfolge "*t" sucht z. b. nach allen Namen, die mit dem Buchstaben "t" enden.For example, the string "*t" searches for all names in ending with the letter "t". ".". Die searchPattern Zeichenfolge "s*" sucht nach allen Namen in path beginnend mit dem Buchstaben "s".The searchPattern string "s*" searches for all names in path beginning with the letter "s".

Diese Methode füllt die Werte der folgenden DirectoryInfo Eigenschaften vorab auf:This method pre-populates the values of the following DirectoryInfo properties:

GetDirectories(String, SearchOption)

Gibt ein Array von Verzeichnissen im aktuellen DirectoryInfo zurück, die den angegebenen Suchkriterien entsprechen. Anhand eines Werts wird bestimmt, ob in Unterverzeichnissen gesucht wird.Returns an array of directories in the current DirectoryInfo matching the given search criteria and using a value to determine whether to search subdirectories.

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[]

Parameter

searchPattern
String

Die Suchzeichenfolge für die Überprüfung der Namen von Verzeichnissen auf Übereinstimmungen.The search string to match against the names of directories. 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

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 only the current directory or all subdirectories.

Gibt zurück

Ein Array vom Typ DirectoryInfo, der searchPattern entspricht.An array of type DirectoryInfo matching searchPattern.

Ausnahmen

searchPattern enthält mindestens ein ungültiges Zeichen gemäß der Definition der GetInvalidPathChars()-Methode.searchPattern contains one or more invalid characters defined by the GetInvalidPathChars() method.

searchPattern ist null.searchPattern is null.

searchOption ist kein gültiger SearchOption-Wert.searchOption is not a valid SearchOption value.

Der im DirectoryInfo -Objekt gekapselte Pfad ist ungültig (z. B. befindet er sich auf einem nicht zugeordneten Laufwerk).The path encapsulated in the DirectoryInfo object is invalid (for example, it is on an unmapped drive).

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

Beispiele

Im folgenden Beispiel werden alle Verzeichnisse und Dateien aufgelistet, die mit dem Buchstaben "c" in "c:\" beginnen.The following example lists all of the directories and files that begin with the letter "c" in "c:\".

using namespace System;
using namespace System::IO;

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

        DirectoryInfo^ di = gcnew DirectoryInfo(path);
        array<DirectoryInfo^>^ directories =
            di->GetDirectories(searchPattern, SearchOption::TopDirectoryOnly);

        array<FileInfo^>^ files =
            di->GetFiles(searchPattern, SearchOption::TopDirectoryOnly);

        Console::WriteLine(
            "Directories that begin with the letter \"c\" in {0}", path);
        for each (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);
        for each (FileInfo^ file in files)
        {
            Console::WriteLine(
                "{0,-25} {1,25}", file->Name, file->LastWriteTime);
        }
    } // Main()
}; // App()

int main()
{
    App::Main();
}
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()
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 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 Zeichenfolge "*t" sucht z. b. nach allen Namen, die mit dem Buchstaben "t" enden.For example, the string "*t" searches for all names in ending with the letter "t". ".". Die searchPattern Zeichenfolge "s*" sucht nach allen Namen in path beginnend mit dem Buchstaben "s".The searchPattern string "s*" searches for all names in path beginning with the letter "s".

Wenn keine Unterverzeichnisse vorhanden sind oder keine Unterverzeichnisse mit dem searchPattern-Parameter identisch sind, gibt diese Methode ein leeres Array zurück.If there are no subdirectories, or no subdirectories match the searchPattern parameter, this method returns an empty array.

Diese Methode füllt die Werte der folgenden DirectoryInfo Eigenschaften vorab auf:This method pre-populates the values of the following DirectoryInfo properties:

Sicherheit

FileIOPermission
zum Lesen aus Dateien und Verzeichnissen und für den Zugriff auf den Pfad.for reading from files and directories and for access to the path. Zugehörige Enumerationen: ReadPathDiscoveryAssociated enumerations: Read, PathDiscovery

Siehe auch

Gilt für: