Udostępnij za pośrednictwem


DirectoryInfo.GetDirectories Metoda

Definicja

Zwraca podkatalogi bieżącego katalogu.

Przeciążenia

GetDirectories()

Zwraca podkatalogi bieżącego katalogu.

GetDirectories(String)

Zwraca tablicę katalogów w bieżącym DirectoryInfo pasującym do podanych kryteriów wyszukiwania.

GetDirectories(String, EnumerationOptions)

Zwraca tablicę katalogów w bieżącym DirectoryInfo pasującym do określonego wzorca wyszukiwania i opcji wyliczenia.

GetDirectories(String, SearchOption)

Zwraca tablicę katalogów w bieżącym DirectoryInfo pasującym do podanych kryteriów wyszukiwania i używając wartości w celu określenia, czy przeszukiwać podkatalogi.

GetDirectories()

Źródło:
DirectoryInfo.cs
Źródło:
DirectoryInfo.cs
Źródło:
DirectoryInfo.cs

Zwraca podkatalogi bieżącego katalogu.

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

Zwraca

Tablica DirectoryInfo obiektów.

Wyjątki

Ścieżka hermetyzowana w DirectoryInfo obiekcie jest nieprawidłowa, na przykład na dysku niezamapowanym.

Obiekt wywołujący nie posiada wymaganych uprawnień.

Obiekt wywołujący nie posiada wymaganych uprawnień.

Przykłady

Poniższy przykład pobiera wszystkie katalogi w katalogu głównym i wyświetla nazwy katalogów.

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

Uwagi

Jeśli nie ma podkatalogów, ta metoda zwraca pustą tablicę. Ta metoda nie jest rekursywna.

Ta metoda wstępnie wypełnia wartości następujących DirectoryInfo właściwości:

Zobacz też

Dotyczy

GetDirectories(String)

Źródło:
DirectoryInfo.cs
Źródło:
DirectoryInfo.cs
Źródło:
DirectoryInfo.cs

Zwraca tablicę katalogów w bieżącym DirectoryInfo pasującym do podanych kryteriów wyszukiwania.

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

Ciąg wyszukiwania zgodny z nazwami katalogów. Ten parametr może zawierać kombinację prawidłowych znaków literału i symboli wieloznacznych (* i ?), ale nie obsługuje wyrażeń regularnych.

Zwraca

Tablica typów DirectoryInfo pasujących searchPatterndo elementu .

Wyjątki

.NET Framework i .NET Core w wersjach starszych niż 2.1: searchPattern zawiera co najmniej jeden nieprawidłowy znak zdefiniowany przez metodęGetInvalidPathChars().

searchPattern to null.

Ścieżka hermetyzowana w DirectoryInfo obiekcie jest nieprawidłowa (na przykład znajduje się na niezamapowanym dysku).

Obiekt wywołujący nie posiada wymaganych uprawnień.

Przykłady

Poniższy przykład zlicza katalogi w ścieżce zawierającej określoną literę.

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

Uwagi

searchPattern może być kombinacją literałów i symboli wieloznacznych, ale nie obsługuje wyrażeń regularnych. Następujące specyfikatory symboli wieloznacznych są dozwolone w pliku searchPattern.

Specyfikator symboli wieloznacznych Jest zgodny z
* (gwiazdka) Zero lub więcej znaków w tej pozycji.
? (znak zapytania) Zero lub jeden znak w tej pozycji.

Znaki inne niż symbol wieloznaczny to znaki literału. Na przykład ciąg "*t" wyszukuje wszystkie nazwy kończące się literą "t". ". Ciąg searchPattern "s*" wyszukuje wszystkie nazwy path na początku litery "s".

Ta metoda wstępnie wypełnia wartości następujących DirectoryInfo właściwości:

Zobacz też

Dotyczy

GetDirectories(String, EnumerationOptions)

Źródło:
DirectoryInfo.cs
Źródło:
DirectoryInfo.cs
Źródło:
DirectoryInfo.cs

Zwraca tablicę katalogów w bieżącym DirectoryInfo pasującym do określonego wzorca wyszukiwania i opcji wyliczenia.

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

Ciąg wyszukiwania zgodny z nazwami katalogów. Ten parametr może zawierać kombinację prawidłowych znaków literału i symboli wieloznacznych (* i ?), ale nie obsługuje wyrażeń regularnych.

enumerationOptions
EnumerationOptions

Obiekt opisujący konfigurację wyszukiwania i wyliczenia do użycia.

Zwraca

Tablica pasujących typów DirectoryInfosearchPattern i enumerationOptions.

Wyjątki

.NET Framework i .NET Core w wersjach starszych niż 2.1: searchPattern zawiera co najmniej jeden nieprawidłowy znak zdefiniowany przez metodęGetInvalidPathChars().

searchPattern to null.

Ścieżka hermetyzowana w DirectoryInfo obiekcie jest nieprawidłowa (na przykład znajduje się na niezamapowanym dysku).

Obiekt wywołujący nie posiada wymaganych uprawnień.

Uwagi

searchPattern może być kombinacją literałów i symboli wieloznacznych, ale nie obsługuje wyrażeń regularnych. Następujące specyfikatory symboli wieloznacznych są dozwolone w pliku searchPattern.

Specyfikator symboli wieloznacznych Jest zgodny z
* (gwiazdka) Zero lub więcej znaków w tej pozycji.
? (znak zapytania) Zero lub jeden znak w tej pozycji.

Znaki inne niż symbol wieloznaczny to znaki literału. Na przykład ciąg "*t" wyszukuje wszystkie nazwy kończące się literą "t". ". Ciąg searchPattern "s*" wyszukuje wszystkie nazwy path na początku litery "s".

Ta metoda wstępnie wypełnia wartości następujących DirectoryInfo właściwości:

Dotyczy

GetDirectories(String, SearchOption)

Źródło:
DirectoryInfo.cs
Źródło:
DirectoryInfo.cs
Źródło:
DirectoryInfo.cs

Zwraca tablicę katalogów w bieżącym DirectoryInfo pasującym do podanych kryteriów wyszukiwania i używając wartości w celu określenia, czy przeszukiwać podkatalogi.

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

Ciąg wyszukiwania zgodny z nazwami katalogów. Ten parametr może zawierać kombinację prawidłowych znaków literału i symboli wieloznacznych (* i ?), ale nie obsługuje wyrażeń regularnych.

searchOption
SearchOption

Jedna z wartości wyliczenia określająca, czy operacja wyszukiwania powinna zawierać tylko bieżący katalog, czy wszystkie podkatalogi.

Zwraca

Tablica typów DirectoryInfo pasujących searchPatterndo elementu .

Wyjątki

.NET Framework i .NET Core w wersjach starszych niż 2.1: searchPattern zawiera co najmniej jeden nieprawidłowy znak zdefiniowany przez metodęGetInvalidPathChars().

searchPattern to null.

searchOption jest nieprawidłową SearchOption wartością.

Ścieżka hermetyzowana w DirectoryInfo obiekcie jest nieprawidłowa (na przykład znajduje się na niezamapowanym dysku).

Obiekt wywołujący nie posiada wymaganych uprawnień.

Przykłady

W poniższym przykładzie wymieniono wszystkie katalogi i pliki rozpoczynające się literą "c" w ciągu "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

Uwagi

searchPattern może być kombinacją literałów i symboli wieloznacznych, ale nie obsługuje wyrażeń regularnych. Następujące specyfikatory symboli wieloznacznych są dozwolone w pliku searchPattern.

Specyfikator symboli wieloznacznych Jest zgodny z
* (gwiazdka) Zero lub więcej znaków w tej pozycji.
? (znak zapytania) Zero lub jeden znak w tej pozycji.

Znaki inne niż symbol wieloznaczny to znaki literału. Na przykład ciąg "*t" wyszukuje wszystkie nazwy kończące się literą "t". ". Ciąg searchPattern "s*" wyszukuje wszystkie nazwy path na początku litery "s".

Jeśli nie ma podkatalogów lub nie ma podkatalogów pasujących do parametru searchPattern , ta metoda zwraca pustą tablicę.

Ta metoda wstępnie wypełnia wartości następujących DirectoryInfo właściwości:

Zobacz też

Dotyczy