DirectoryInfo.GetDirectories Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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 searchPattern
cocok.
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 .
searchPattern
adalah 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 .
searchPattern
adalah 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 searchPattern
cocok.
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 .
searchPattern
adalah 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 :