Condividi tramite


DirectoryInfo.GetDirectories Metodo

Definizione

Restituisce le sottodirectory della directory corrente.

Overload

GetDirectories()

Restituisce le sottodirectory della directory corrente.

GetDirectories(String)

Restituisce una matrice di directory nell'oggetto DirectoryInfo corrente che corrisponde ai criteri di ricerca specificati.

GetDirectories(String, EnumerationOptions)

Restituisce una matrice di directory nell'elemento DirectoryInfo corrente corrispondente al criterio di ricerca e alle opzioni di enumerazione specificati.

GetDirectories(String, SearchOption)

Restituisce una matrice di directory nella classe DirectoryInfo corrente che corrisponde ai criteri di ricerca forniti e che utilizza un valore per determinare se eseguire la ricerca nelle sottodirectory.

GetDirectories()

Origine:
DirectoryInfo.cs
Origine:
DirectoryInfo.cs
Origine:
DirectoryInfo.cs

Restituisce le sottodirectory della directory corrente.

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

Restituisce

Matrice di oggetti DirectoryInfo.

Eccezioni

Il percorso incapsulato nell'oggetto DirectoryInfo non è valido perché, ad esempio, si trova in un'unità non mappata.

Il chiamante non dispone dell'autorizzazione richiesta.

Il chiamante non dispone dell'autorizzazione richiesta.

Esempio

Nell'esempio seguente vengono recuperate tutte le directory nella directory radice e vengono visualizzati i nomi di directory.

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

Commenti

Se non sono presenti sottodirectory, questo metodo restituisce una matrice vuota. Questo metodo non è ricorsivo.

Questo metodo precompila i valori delle proprietà seguenti DirectoryInfo :

Vedi anche

Si applica a

GetDirectories(String)

Origine:
DirectoryInfo.cs
Origine:
DirectoryInfo.cs
Origine:
DirectoryInfo.cs

Restituisce una matrice di directory nell'oggetto DirectoryInfo corrente che corrisponde ai criteri di ricerca specificati.

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

Parametri

searchPattern
String

Stringa di ricerca in base alla quale confrontare i nomi delle directory. Questo parametro può contenere una combinazione di caratteri del percorso letterale e caratteri jolly (* e ?) validi, ma non supporta le espressioni regolari.

Restituisce

Matrice di tipo DirectoryInfo corrispondente a searchPattern.

Eccezioni

.NET Framework e versioni di .NET Core precedenti alla 2.1: searchPattern contiene uno o più caratteri non validi definiti dal GetInvalidPathChars() metodo .

searchPattern è null.

Il percorso incapsulato nell'oggetto DirectoryInfo non è valido, ad esempio si trova in un'unità non mappata.

Il chiamante non dispone dell'autorizzazione richiesta.

Esempio

Nell'esempio seguente le directory in un percorso che contengono la lettera specificata.

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

Commenti

searchPattern può essere una combinazione di caratteri letterali e caratteri jolly, ma non supporta espressioni regolari. Gli identificatori con caratteri jolly seguenti sono consentiti in searchPattern.

Identificatore di caratteri jolly Corrispondenze
* (asterisco) Zero o più caratteri in tale posizione.
? (punto interrogativo) Zero o un carattere in tale posizione.

I caratteri diversi dai caratteri jolly sono caratteri letterali. Ad esempio, la stringa "*t" cerca tutti i nomi che terminano con la lettera "t". ". La searchPattern stringa "s*" cerca tutti i nomi che iniziano path con la lettera "s".

Questo metodo precompila i valori delle proprietà seguenti DirectoryInfo :

Vedi anche

Si applica a

GetDirectories(String, EnumerationOptions)

Origine:
DirectoryInfo.cs
Origine:
DirectoryInfo.cs
Origine:
DirectoryInfo.cs

Restituisce una matrice di directory nell'elemento DirectoryInfo corrente corrispondente al criterio di ricerca e alle opzioni di enumerazione specificati.

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

Parametri

searchPattern
String

Stringa di ricerca in base alla quale confrontare i nomi delle directory. Questo parametro può contenere una combinazione di caratteri del percorso letterale e caratteri jolly (* e ?) validi, ma non supporta le espressioni regolari.

enumerationOptions
EnumerationOptions

Oggetto che descrive la configurazione di ricerca ed enumerazione da usare.

Restituisce

Matrice di tipo DirectoryInfo corrispondente a searchPattern e enumerationOptions.

Eccezioni

.NET Framework e versioni di .NET Core precedenti alla 2.1: searchPattern contiene uno o più caratteri non validi definiti dal GetInvalidPathChars() metodo .

searchPattern è null.

Il percorso incapsulato nell'oggetto DirectoryInfo non è valido, ad esempio si trova in un'unità non mappata.

Il chiamante non dispone dell'autorizzazione richiesta.

Commenti

searchPattern può essere una combinazione di caratteri letterali e caratteri jolly, ma non supporta espressioni regolari. Gli identificatori con caratteri jolly seguenti sono consentiti in searchPattern.

Identificatore di caratteri jolly Corrispondenze
* (asterisco) Zero o più caratteri in tale posizione.
? (punto interrogativo) Zero o un carattere in tale posizione.

I caratteri diversi dai caratteri jolly sono caratteri letterali. Ad esempio, la stringa "*t" cerca tutti i nomi che terminano con la lettera "t". ". La searchPattern stringa "s*" cerca tutti i nomi che iniziano path con la lettera "s".

Questo metodo precompila i valori delle proprietà seguenti DirectoryInfo :

Si applica a

GetDirectories(String, SearchOption)

Origine:
DirectoryInfo.cs
Origine:
DirectoryInfo.cs
Origine:
DirectoryInfo.cs

Restituisce una matrice di directory nella classe DirectoryInfo corrente che corrisponde ai criteri di ricerca forniti e che utilizza un valore per determinare se eseguire la ricerca nelle sottodirectory.

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

Parametri

searchPattern
String

Stringa di ricerca in base alla quale confrontare i nomi delle directory. Questo parametro può contenere una combinazione di caratteri del percorso letterale e caratteri jolly (* e ?) validi, ma non supporta le espressioni regolari.

searchOption
SearchOption

Uno dei valori di enumerazione che specifica se l'operazione di ricerca deve includere solo la directory corrente o anche tutte le sottodirectory.

Restituisce

Matrice di tipo DirectoryInfo corrispondente a searchPattern.

Eccezioni

.NET Framework e versioni di .NET Core precedenti alla 2.1: searchPattern contiene uno o più caratteri non validi definiti dal GetInvalidPathChars() metodo .

searchPattern è null.

searchOption non è un valore valido di SearchOption.

Il percorso incapsulato nell'oggetto DirectoryInfo non è valido, ad esempio si trova in un'unità non mappata.

Il chiamante non dispone dell'autorizzazione richiesta.

Esempio

L'esempio seguente elenca tutte le directory e i file che iniziano con la lettera "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()
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

Commenti

searchPattern può essere una combinazione di caratteri letterali e caratteri jolly, ma non supporta espressioni regolari. Gli identificatori con caratteri jolly seguenti sono consentiti in searchPattern.

Identificatore di caratteri jolly Corrispondenze
* (asterisco) Zero o più caratteri in tale posizione.
? (punto interrogativo) Zero o un carattere in tale posizione.

I caratteri diversi dai caratteri jolly sono caratteri letterali. Ad esempio, la stringa "*t" cerca tutti i nomi che terminano con la lettera "t". ". La searchPattern stringa "s*" cerca tutti i nomi che iniziano path con la lettera "s".

Se non sono presenti sottodirectory o nessuna sottodirectory corrisponde al searchPattern parametro , questo metodo restituisce una matrice vuota.

Questo metodo precompila i valori delle proprietà seguenti DirectoryInfo :

Vedi anche

Si applica a