Bagikan melalui


DirectoryInfo.GetDirectories Metode

Definisi

Mengembalikan subdirektori direktori saat ini.

Overload

GetDirectories()

Mengembalikan subdirektori direktori saat ini.

GetDirectories(String)

Mengembalikan array direktori dalam pencocokan kriteria pencarian yang diberikan saat ini DirectoryInfo .

GetDirectories(String, EnumerationOptions)

Mengembalikan array direktori dalam pencocokan pola pencarian dan opsi enumerasi yang ditentukan saat ini DirectoryInfo .

GetDirectories(String, SearchOption)

Mengembalikan array direktori dalam pencocokan kriteria pencarian yang diberikan saat ini DirectoryInfo dan menggunakan nilai untuk menentukan apakah akan mencari subdirektori.

GetDirectories()

Sumber:
DirectoryInfo.cs
Sumber:
DirectoryInfo.cs
Sumber:
DirectoryInfo.cs

Mengembalikan subdirektori direktori saat ini.

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

Mengembalikan

Array DirectoryInfo objek.

Pengecualian

Jalur yang dienkapsulasi dalam DirectoryInfo objek tidak valid, seperti berada di drive yang tidak dipetakan.

Pemanggil tidak memiliki izin yang diperlukan.

Pemanggil tidak memiliki izin yang diperlukan.

Contoh

Contoh berikut mengambil semua direktori di direktori akar dan menampilkan nama direktori.

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

Keterangan

Jika tidak ada subdirektori, metode ini mengembalikan array kosong. Metode ini tidak rekursif.

Metode ini telah mengisi nilai properti berikut DirectoryInfo :

Lihat juga

Berlaku untuk

GetDirectories(String)

Sumber:
DirectoryInfo.cs
Sumber:
DirectoryInfo.cs
Sumber:
DirectoryInfo.cs

Mengembalikan array direktori dalam pencocokan kriteria pencarian yang diberikan saat ini DirectoryInfo .

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

String pencarian yang cocok dengan nama direktori. Parameter ini dapat berisi kombinasi jalur harfiah yang valid dan karakter kartubebas (* dan ?), tetapi tidak mendukung ekspresi reguler.

Mengembalikan

Array jenis DirectoryInfo yang searchPatterncocok.

Pengecualian

.NET Framework dan versi .NET Core yang lebih lama dari 2.1: searchPattern berisi satu atau beberapa karakter yang tidak valid yang GetInvalidPathChars() ditentukan oleh metode .

searchPatternadalah null.

Jalur yang dienkapsulasi dalam DirectoryInfo objek tidak valid (misalnya, berada pada drive yang tidak dipetakan).

Pemanggil tidak memiliki izin yang diperlukan.

Contoh

Contoh berikut menghitung direktori dalam jalur yang berisi huruf yang ditentukan.

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

Keterangan

searchPattern dapat berupa kombinasi karakter harfiah dan kartubebas, tetapi tidak mendukung ekspresi reguler. Penentu kartubebas berikut diizinkan di searchPattern.

Penentu kartubebas Cocok
* (tanda bintang) Nol karakter atau lebih dalam posisi tersebut.
? (tanda tanya) Nol atau satu karakter dalam posisi tersebut.

Karakter selain kartubebas adalah karakter harfiah. Misalnya, string "*t" mencari semua nama yang diakhir dengan huruf "t". ". String searchPattern "s*" mencari semua nama di path awal dengan huruf "s".

Metode ini telah mengisi nilai properti berikut DirectoryInfo :

Lihat juga

Berlaku untuk

GetDirectories(String, EnumerationOptions)

Sumber:
DirectoryInfo.cs
Sumber:
DirectoryInfo.cs
Sumber:
DirectoryInfo.cs

Mengembalikan array direktori dalam pencocokan pola pencarian dan opsi enumerasi yang ditentukan saat ini DirectoryInfo .

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

Parameter

searchPattern
String

String pencarian yang cocok dengan nama direktori. Parameter ini dapat berisi kombinasi jalur harfiah yang valid dan karakter kartubebas (* dan ?), tetapi tidak mendukung ekspresi reguler.

enumerationOptions
EnumerationOptions

Objek yang menjelaskan konfigurasi pencarian dan enumerasi untuk digunakan.

Mengembalikan

Array jenis DirectoryInfo yang searchPattern cocok dan enumerationOptions.

Pengecualian

.NET Framework dan versi .NET Core yang lebih lama dari 2.1: searchPattern berisi satu atau beberapa karakter yang tidak valid yang GetInvalidPathChars() ditentukan oleh metode .

searchPatternadalah null.

Jalur yang dienkapsulasi dalam DirectoryInfo objek tidak valid (misalnya, berada pada drive yang tidak dipetakan).

Pemanggil tidak memiliki izin yang diperlukan.

Keterangan

searchPattern dapat berupa kombinasi karakter harfiah dan kartubebas, tetapi tidak mendukung ekspresi reguler. Penentu kartubebas berikut diizinkan di searchPattern.

Penentu kartubebas Cocok
* (tanda bintang) Nol karakter atau lebih dalam posisi tersebut.
? (tanda tanya) Nol atau satu karakter dalam posisi tersebut.

Karakter selain kartubebas adalah karakter harfiah. Misalnya, string "*t" mencari semua nama yang diakhir dengan huruf "t". ". String searchPattern "s*" mencari semua nama di path awal dengan huruf "s".

Metode ini telah mengisi nilai properti berikut DirectoryInfo :

Berlaku untuk

GetDirectories(String, SearchOption)

Sumber:
DirectoryInfo.cs
Sumber:
DirectoryInfo.cs
Sumber:
DirectoryInfo.cs

Mengembalikan array direktori dalam pencocokan kriteria pencarian yang diberikan saat ini DirectoryInfo dan menggunakan nilai untuk menentukan apakah akan mencari subdirektori.

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

Parameter

searchPattern
String

String pencarian yang cocok dengan nama direktori. Parameter ini dapat berisi kombinasi jalur harfiah yang valid dan karakter kartubebas (* dan ?), tetapi tidak mendukung ekspresi reguler.

searchOption
SearchOption

Salah satu nilai enumerasi yang menentukan apakah operasi pencarian hanya boleh menyertakan direktori saat ini atau semua subdirektori.

Mengembalikan

Array jenis DirectoryInfo yang searchPatterncocok.

Pengecualian

.NET Framework dan versi .NET Core yang lebih lama dari 2.1: searchPattern berisi satu atau beberapa karakter yang tidak valid yang GetInvalidPathChars() ditentukan oleh metode .

searchPatternadalah null.

searchOption bukan nilai yang valid SearchOption .

Jalur yang dienkapsulasi dalam DirectoryInfo objek tidak valid (misalnya, berada pada drive yang tidak dipetakan).

Pemanggil tidak memiliki izin yang diperlukan.

Contoh

Contoh berikut mencantumkan semua direktori dan file yang dimulai dengan huruf "c" di "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

Keterangan

searchPattern dapat berupa kombinasi karakter harfiah dan kartubebas, tetapi tidak mendukung ekspresi reguler. Penentu kartubebas berikut diizinkan di searchPattern.

Penentu kartubebas Cocok
* (tanda bintang) Nol karakter atau lebih dalam posisi tersebut.
? (tanda tanya) Nol atau satu karakter dalam posisi tersebut.

Karakter selain kartubebas adalah karakter harfiah. Misalnya, string "*t" mencari semua nama yang diakhir dengan huruf "t". ". String searchPattern "s*" mencari semua nama di path awal dengan huruf "s".

Jika tidak ada subdirektori, atau tidak ada subdirektori yang cocok dengan searchPattern parameter, metode ini mengembalikan array kosong.

Metode ini telah mengisi nilai properti berikut DirectoryInfo :

Lihat juga

Berlaku untuk