DirectoryInfo.GetDirectories Método

Definição

Retorna os subdiretórios do diretório atual.

Sobrecargas

GetDirectories()

Retorna os subdiretórios do diretório atual.

GetDirectories(String)

Retorna uma matriz de diretórios no DirectoryInfo atual que correspondem aos critérios de pesquisa fornecidos.

GetDirectories(String, EnumerationOptions)

Retorna uma matriz de diretórios no DirectoryInfo atual que corresponde às opções especificadas de padrão de pesquisa e enumeração.

GetDirectories(String, SearchOption)

Retorna uma matriz de diretórios da DirectoryInfo atual correspondendo aos critérios de pesquisa dados e usando um valor para determinar se deve pesquisar os subdiretórios.

GetDirectories()

Origem:
DirectoryInfo.cs
Origem:
DirectoryInfo.cs
Origem:
DirectoryInfo.cs

Retorna os subdiretórios do diretório atual.

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

Retornos

Uma matriz de objetos de DirectoryInfo.

Exceções

O caminho encapsulado no objeto DirectoryInfo é inválido; por exemplo, está em uma unidade não mapeada.

O chamador não tem a permissão necessária.

O chamador não tem a permissão necessária.

Exemplos

O exemplo a seguir recupera todos os diretórios no diretório raiz e exibe os nomes de diretório.

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

Comentários

Se não houver subdiretórios, esse método retornará uma matriz vazia. Esse método não é recursivo.

Esse método preenche previamente os valores das seguintes DirectoryInfo propriedades:

Confira também

Aplica-se a

GetDirectories(String)

Origem:
DirectoryInfo.cs
Origem:
DirectoryInfo.cs
Origem:
DirectoryInfo.cs

Retorna uma matriz de diretórios no DirectoryInfo atual que correspondem aos critérios de pesquisa fornecidos.

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

Parâmetros

searchPattern
String

A cadeia de caracteres de pesquisa para correspondência em relação aos nomes dos diretórios. Esse parâmetro pode conter uma combinação de caracteres curinga (* e ?) e caminho de literal, mas não dá suporte a expressões regulares.

Retornos

Uma matriz do tipo DirectoryInfo correspondendo a searchPattern.

Exceções

.NET Framework e versões do .NET Core anteriores à 2.1: searchPattern contém um ou mais caracteres inválidos definidos pelo GetInvalidPathChars() método .

searchPattern é null.

O caminho encapsulado no objeto DirectoryInfo é inválido (por exemplo, está em uma unidade não mapeada).

O chamador não tem a permissão necessária.

Exemplos

O exemplo a seguir conta os diretórios em um caminho que contém a letra especificada.

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

Comentários

searchPattern pode ser uma combinação de caracteres literais e curinga, mas não dá suporte a expressões regulares. Os especificadores curinga a seguir são permitidos em searchPattern.

Especificador curinga Corresponde a
* (asterisco) Zero ou mais caracteres nessa posição.
? (ponto de interrogação) Zero ou um caractere nessa posição.

Caracteres diferentes do curinga são caracteres literais. Por exemplo, a cadeia de caracteres "*t" pesquisa todos os nomes ao terminar com a letra "t". ". A searchPattern cadeia de caracteres "s*" procura todos os nomes no path início com a letra "s".

Esse método preenche previamente os valores das seguintes DirectoryInfo propriedades:

Confira também

Aplica-se a

GetDirectories(String, EnumerationOptions)

Origem:
DirectoryInfo.cs
Origem:
DirectoryInfo.cs
Origem:
DirectoryInfo.cs

Retorna uma matriz de diretórios no DirectoryInfo atual que corresponde às opções especificadas de padrão de pesquisa e enumeração.

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

Parâmetros

searchPattern
String

A cadeia de caracteres de pesquisa para correspondência em relação aos nomes dos diretórios. Esse parâmetro pode conter uma combinação de caracteres curinga (* e ?) e caminho de literal, mas não dá suporte a expressões regulares.

enumerationOptions
EnumerationOptions

Um objeto que descreve a configuração de pesquisa e enumeração a ser usada.

Retornos

Uma matriz do tipo DirectoryInfo que corresponde a searchPattern e enumerationOptions.

Exceções

.NET Framework e versões do .NET Core anteriores à 2.1: searchPattern contém um ou mais caracteres inválidos definidos pelo GetInvalidPathChars() método .

searchPattern é null.

O caminho encapsulado no objeto DirectoryInfo é inválido (por exemplo, está em uma unidade não mapeada).

O chamador não tem a permissão necessária.

Comentários

searchPattern pode ser uma combinação de caracteres literais e curinga, mas não dá suporte a expressões regulares. Os especificadores curinga a seguir são permitidos em searchPattern.

Especificador curinga Corresponde a
* (asterisco) Zero ou mais caracteres nessa posição.
? (ponto de interrogação) Zero ou um caractere nessa posição.

Caracteres diferentes do curinga são caracteres literais. Por exemplo, a cadeia de caracteres "*t" pesquisa todos os nomes ao terminar com a letra "t". ". A searchPattern cadeia de caracteres "s*" procura todos os nomes no path início com a letra "s".

Esse método preenche previamente os valores das seguintes DirectoryInfo propriedades:

Aplica-se a

GetDirectories(String, SearchOption)

Origem:
DirectoryInfo.cs
Origem:
DirectoryInfo.cs
Origem:
DirectoryInfo.cs

Retorna uma matriz de diretórios da DirectoryInfo atual correspondendo aos critérios de pesquisa dados e usando um valor para determinar se deve pesquisar os subdiretórios.

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

Parâmetros

searchPattern
String

A cadeia de caracteres de pesquisa para correspondência em relação aos nomes dos diretórios. Esse parâmetro pode conter uma combinação de caracteres curinga (* e ?) e caminho de literal, mas não dá suporte a expressões regulares.

searchOption
SearchOption

Um dos valores de enumeração que especifica se a operação de pesquisa deve incluir somente o diretório atual ou todos os subdiretórios.

Retornos

Uma matriz do tipo DirectoryInfo correspondendo a searchPattern.

Exceções

.NET Framework e versões do .NET Core anteriores à 2.1: searchPattern contém um ou mais caracteres inválidos definidos pelo GetInvalidPathChars() método .

searchPattern é null.

searchOption não é um valor SearchOption válido.

O caminho encapsulado no objeto DirectoryInfo é inválido (por exemplo, está em uma unidade não mapeada).

O chamador não tem a permissão necessária.

Exemplos

O exemplo a seguir lista todos os diretórios e arquivos que começam com a letra "c" em "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

Comentários

searchPattern pode ser uma combinação de caracteres literais e curinga, mas não dá suporte a expressões regulares. Os especificadores curinga a seguir são permitidos em searchPattern.

Especificador curinga Corresponde a
* (asterisco) Zero ou mais caracteres nessa posição.
? (ponto de interrogação) Zero ou um caractere nessa posição.

Caracteres diferentes do curinga são caracteres literais. Por exemplo, a cadeia de caracteres "*t" pesquisa todos os nomes ao terminar com a letra "t". ". A searchPattern cadeia de caracteres "s*" procura todos os nomes no path início com a letra "s".

Se não houver subdiretórios ou nenhum subdiretório corresponder ao searchPattern parâmetro , esse método retornará uma matriz vazia.

Esse método preenche previamente os valores das seguintes DirectoryInfo propriedades:

Confira também

Aplica-se a