Sdílet prostřednictvím


DirectoryInfo.GetDirectories Metoda

Definice

Vrátí podadresáře aktuálního adresáře.

Přetížení

GetDirectories()

Vrátí podadresáře aktuálního adresáře.

GetDirectories(String)

Vrátí pole adresářů v aktuálním DirectoryInfo stavu, který odpovídá zadaným kritériím hledání.

GetDirectories(String, EnumerationOptions)

Vrátí pole adresářů v aktuálním DirectoryInfo stavu, který odpovídá zadanému vzoru hledání a možnostem výčtu.

GetDirectories(String, SearchOption)

Vrátí pole adresářů v aktuálním DirectoryInfo stavu, který odpovídá zadaným kritériím hledání, a pomocí hodnoty určí, zda hledat podadresáře.

GetDirectories()

Zdroj:
DirectoryInfo.cs
Zdroj:
DirectoryInfo.cs
Zdroj:
DirectoryInfo.cs

Vrátí podadresáře aktuálního adresáře.

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

Návraty

Pole DirectoryInfo objektů.

Výjimky

Cesta zapouzdřená v objektu DirectoryInfo je neplatná, například je na nenamapované jednotce.

Volající nemá požadované oprávnění.

Volající nemá požadované oprávnění.

Příklady

Následující příklad načte všechny adresáře v kořenovém adresáři a zobrazí názvy adresářů.

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

Poznámky

Pokud neexistují žádné podadresáře, vrátí tato metoda prázdné pole. Tato metoda není rekurzivní.

Tato metoda předem vyplní hodnoty následujících DirectoryInfo vlastností:

Viz také

Platí pro

GetDirectories(String)

Zdroj:
DirectoryInfo.cs
Zdroj:
DirectoryInfo.cs
Zdroj:
DirectoryInfo.cs

Vrátí pole adresářů v aktuálním DirectoryInfo stavu, který odpovídá zadaným kritériím hledání.

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()

Parametry

searchPattern
String

Hledaný řetězec, který se má shodovat s názvy adresářů. Tento parametr může obsahovat kombinaci platné literálové cesty a zástupných znaků (* a ?), ale nepodporuje regulární výrazy.

Návraty

Pole odpovídající searchPatterntypu DirectoryInfo .

Výjimky

Verze rozhraní .NET Framework a .NET Core starší než 2.1: searchPattern obsahují jeden nebo více neplatných znaků definovaných metodou GetInvalidPathChars() .

searchPattern je null.

Cesta zapouzdřená v objektu DirectoryInfo je neplatná (například je na nenamapované jednotce).

Volající nemá požadované oprávnění.

Příklady

Následující příklad počítá adresáře v cestě, která obsahuje zadané písmeno.

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

Poznámky

searchPattern může být kombinací literálů a zástupných znaků, ale nepodporuje regulární výrazy. V systému jsou povoleny následující specifikátory zástupných searchPatternznaků.

Specifikátor zástupných znaků Shody
* (hvězdička) Na této pozici není žádný nebo více znaků.
? (otazník) Na této pozici není žádný nebo jeden znak.

Jiné znaky než zástupný znak jsou literální znaky. Například řetězec "*t" vyhledá všechna jména končící písmenem "t". ". Řetězec searchPattern "s*" vyhledá všechna jména path začínající písmenem "s".

Tato metoda předem vyplní hodnoty následujících DirectoryInfo vlastností:

Viz také

Platí pro

GetDirectories(String, EnumerationOptions)

Zdroj:
DirectoryInfo.cs
Zdroj:
DirectoryInfo.cs
Zdroj:
DirectoryInfo.cs

Vrátí pole adresářů v aktuálním DirectoryInfo stavu, který odpovídá zadanému vzoru hledání a možnostem výčtu.

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()

Parametry

searchPattern
String

Hledaný řetězec, který se má shodovat s názvy adresářů. Tento parametr může obsahovat kombinaci platné literálové cesty a zástupných znaků (* a ?), ale nepodporuje regulární výrazy.

enumerationOptions
EnumerationOptions

Objekt, který popisuje konfiguraci vyhledávání a výčtu, která se má použít.

Návraty

Pole odpovídající searchPattern typu DirectoryInfo a enumerationOptions.

Výjimky

Verze rozhraní .NET Framework a .NET Core starší než 2.1: searchPattern obsahují jeden nebo více neplatných znaků definovaných metodou GetInvalidPathChars() .

searchPattern je null.

Cesta zapouzdřená v objektu DirectoryInfo je neplatná (například je na nenamapované jednotce).

Volající nemá požadované oprávnění.

Poznámky

searchPattern může být kombinací literálů a zástupných znaků, ale nepodporuje regulární výrazy. V systému jsou povoleny následující specifikátory zástupných searchPatternznaků.

Specifikátor zástupných znaků Shody
* (hvězdička) Na této pozici není žádný nebo více znaků.
? (otazník) Na této pozici není žádný nebo jeden znak.

Jiné znaky než zástupný znak jsou literální znaky. Například řetězec "*t" vyhledá všechna jména končící písmenem "t". ". Řetězec searchPattern "s*" vyhledá všechna jména path začínající písmenem "s".

Tato metoda předem vyplní hodnoty následujících DirectoryInfo vlastností:

Platí pro

GetDirectories(String, SearchOption)

Zdroj:
DirectoryInfo.cs
Zdroj:
DirectoryInfo.cs
Zdroj:
DirectoryInfo.cs

Vrátí pole adresářů v aktuálním DirectoryInfo stavu, který odpovídá zadaným kritériím hledání, a pomocí hodnoty určí, zda hledat podadresáře.

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()

Parametry

searchPattern
String

Hledaný řetězec, který se má shodovat s názvy adresářů. Tento parametr může obsahovat kombinaci platné literálové cesty a zástupných znaků (* a ?), ale nepodporuje regulární výrazy.

searchOption
SearchOption

Jedna z hodnot výčtu, která určuje, zda má operace hledání obsahovat pouze aktuální adresář nebo všechny podadresáře.

Návraty

Pole odpovídající searchPatterntypu DirectoryInfo .

Výjimky

Verze rozhraní .NET Framework a .NET Core starší než 2.1: searchPattern obsahují jeden nebo více neplatných znaků definovaných metodou GetInvalidPathChars() .

searchPattern je null.

searchOption není platná SearchOption hodnota.

Cesta zapouzdřená v objektu DirectoryInfo je neplatná (například je na nenamapované jednotce).

Volající nemá požadované oprávnění.

Příklady

Následující příklad uvádí seznam všech adresářů a souborů, které začínají písmenem "c" v "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()
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

Poznámky

searchPattern může být kombinací literálů a zástupných znaků, ale nepodporuje regulární výrazy. V systému jsou povoleny následující specifikátory zástupných searchPatternznaků.

Specifikátor zástupných znaků Shody
* (hvězdička) Na této pozici není žádný nebo více znaků.
? (otazník) Na této pozici není žádný nebo jeden znak.

Jiné znaky než zástupný znak jsou literální znaky. Například řetězec "*t" vyhledá všechna jména končící písmenem "t". ". Řetězec searchPattern "s*" vyhledá všechna jména path začínající písmenem "s".

Pokud neexistují žádné podadresáře nebo žádné podadresáře neodpovídají parametru searchPattern , vrátí tato metoda prázdné pole.

Tato metoda předem vyplní hodnoty následujících DirectoryInfo vlastností:

Viz také

Platí pro