Directory.GetDirectories Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zwraca nazwy podkatalogów spełniających określone kryteria.
Przeciążenia
GetDirectories(String, String, SearchOption) |
Zwraca nazwy podkatalogów (w tym ich ścieżek), które pasują do określonego wzorca wyszukiwania w określonym katalogu, a opcjonalnie wyszukuje podkatalogi. |
GetDirectories(String, String, EnumerationOptions) |
Zwraca nazwy podkatalogów (w tym ich ścieżek), które pasują do określonego wzorca wyszukiwania i opcji wyliczenia w określonym katalogu. |
GetDirectories(String, String) |
Zwraca nazwy podkatalogów (w tym ich ścieżek), które pasują do określonego wzorca wyszukiwania w określonym katalogu. |
GetDirectories(String) |
Zwraca nazwy podkatalogów (w tym ich ścieżki) w określonym katalogu. |
GetDirectories(String, String, SearchOption)
- Źródło:
- Directory.cs
- Źródło:
- Directory.cs
- Źródło:
- Directory.cs
Zwraca nazwy podkatalogów (w tym ich ścieżek), które pasują do określonego wzorca wyszukiwania w określonym katalogu, a opcjonalnie wyszukuje podkatalogi.
public:
static cli::array <System::String ^> ^ GetDirectories(System::String ^ path, System::String ^ searchPattern, System::IO::SearchOption searchOption);
public static string[] GetDirectories (string path, string searchPattern, System.IO.SearchOption searchOption);
static member GetDirectories : string * string * System.IO.SearchOption -> string[]
Public Shared Function GetDirectories (path As String, searchPattern As String, searchOption As SearchOption) As String()
Parametry
- path
- String
Ścieżka względna lub bezwzględna do katalogu do wyszukiwania. W tym ciągu nie jest rozróżniana wielkość liter.
- searchPattern
- String
Ciąg wyszukiwania zgodny z nazwami podkatalogów w pliku path
. Ten parametr może zawierać kombinację prawidłowych literałów i symboli wieloznacznych, ale nie obsługuje wyrażeń regularnych.
- searchOption
- SearchOption
Jedna z wartości wyliczenia określająca, czy operacja wyszukiwania powinna zawierać wszystkie podkatalogi, czy tylko bieżący katalog.
Zwraca
Tablica pełnych nazw (w tym ścieżek) podkatalogów spełniających określone kryteria lub pusta tablica, jeśli nie znaleziono katalogów.
Wyjątki
.NET Framework i .NET Core w wersjach starszych niż 2.1: path
jest ciągiem o zerowej długości, zawiera tylko biały odstęp lub zawiera co najmniej jeden nieprawidłowy znak. Możesz wykonać zapytanie o nieprawidłowe znaki przy użyciu GetInvalidPathChars() metody .
-lub-
searchPattern
nie zawiera prawidłowego wzorca.
path
lub searchPattern
to null
.
searchOption
jest nieprawidłową SearchOption wartością.
Obiekt wywołujący nie posiada wymaganych uprawnień.
Podana ścieżka, nazwa pliku lub obie przekraczają maksymalną długość zdefiniowaną przez system.
path
to nazwa pliku.
-lub-
Plik lub katalog jest uszkodzony i nieczytelny (na przykład: nieprawidłowa pierwsza jednostka alokacji partycji FAT32).
Określona ścieżka jest nieprawidłowa (na przykład znajduje się na niezamapowanym dysku).
Przykłady
Poniższy przykład zlicza liczbę katalogów rozpoczynających się od określonej litery w ścieżce. Przeszukiwany jest tylko katalog najwyższego poziomu.
using System;
using System.IO;
class Test
{
public static void Main()
{
try
{
string[] dirs = Directory.GetDirectories(@"c:\", "p*", SearchOption.TopDirectoryOnly);
Console.WriteLine("The number of directories starting with p is {0}.", dirs.Length);
foreach (string dir in dirs)
{
Console.WriteLine(dir);
}
}
catch (Exception e)
{
Console.WriteLine("The process failed: {0}", e.ToString());
}
}
}
open System.IO
try
let dirs = Directory.GetDirectories(@"c:\", "p*", SearchOption.TopDirectoryOnly)
printfn $"The number of directories starting with p is {dirs.Length}."
for dir in dirs do
printfn $"{dir}"
with e ->
printfn $"The process failed: {e}"
Imports System.IO
Public Class Test
Public Shared Sub Main()
Try
Dim dirs As String() = Directory.GetDirectories("c:\", "p*", SearchOption.TopDirectoryOnly)
Console.WriteLine("The number of directories starting with p is {0}.", dirs.Length)
Dim dir As String
For Each dir In dirs
Console.WriteLine(dir)
Next
Catch e As Exception
Console.WriteLine("The process failed: {0}", e.ToString())
End Try
End Sub
End Class
Uwagi
Parametr path
może określać informacje o ścieżce względnej lub bezwzględnej i nie uwzględnia wielkości liter. Informacje o ścieżce względnej są interpretowane jako względne w stosunku do bieżącego katalogu roboczego. Aby uzyskać bieżący katalog roboczy, zobacz GetCurrentDirectory.
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) | Dokładnie jeden znak w tej pozycji. |
Znaki inne niż symbol wieloznaczny to znaki literału. Na przykład searchPattern
ciąg "*t" wyszukuje wszystkie nazwy path
kończące się literą "t". Ciąg searchPattern
"s*" wyszukuje wszystkie nazwy path
na początku litery "s".
searchPattern
nie może kończyć się dwoma kropkami ("..") lub zawierać dwa kropki (".)."), po DirectorySeparatorChar których następuje lub AltDirectorySeparatorChar, ani nie może zawierać żadnych nieprawidłowych znaków. Możesz wykonać zapytanie o nieprawidłowe znaki przy użyciu GetInvalidPathChars metody .
Metody EnumerateDirectories i GetDirectories różnią się w następujący sposób: w przypadku używania metody EnumerateDirectoriesmożna rozpocząć wyliczanie kolekcji nazw przed zwróceniem całej kolekcji. W przypadku użycia metody GetDirectoriesnależy poczekać na zwrócenie całej tablicy nazw, zanim będzie można uzyskać dostęp do tablicy. W związku z tym podczas pracy z wieloma plikami i katalogami EnumerateDirectories może być wydajniejszy.
Aby uzyskać listę typowych zadań we/wy, zobacz Typowe zadania we/wy.
Zobacz też
- GetCurrentDirectory()
- Plik i Stream we/wy
- Instrukcje: Odczytywanie tekstu z pliku
- Instrukcje: Zapisywanie tekstu w pliku
Dotyczy
GetDirectories(String, String, EnumerationOptions)
- Źródło:
- Directory.cs
- Źródło:
- Directory.cs
- Źródło:
- Directory.cs
Zwraca nazwy podkatalogów (w tym ich ścieżek), które pasują do określonego wzorca wyszukiwania i opcji wyliczenia w określonym katalogu.
public:
static cli::array <System::String ^> ^ GetDirectories(System::String ^ path, System::String ^ searchPattern, System::IO::EnumerationOptions ^ enumerationOptions);
public static string[] GetDirectories (string path, string searchPattern, System.IO.EnumerationOptions enumerationOptions);
static member GetDirectories : string * string * System.IO.EnumerationOptions -> string[]
Public Shared Function GetDirectories (path As String, searchPattern As String, enumerationOptions As EnumerationOptions) As String()
Parametry
- path
- String
Ścieżka względna lub bezwzględna do katalogu do wyszukiwania. W tym ciągu nie jest rozróżniana wielkość liter.
- searchPattern
- String
Ciąg wyszukiwania zgodny z nazwami podkatalogów w pliku path
. Ten parametr może zawierać kombinację prawidłowych literałów i symboli wieloznacznych, ale nie obsługuje wyrażeń regularnych.
- enumerationOptions
- EnumerationOptions
Obiekt opisujący konfigurację wyszukiwania i wyliczenia do użycia.
Zwraca
Tablica pełnych nazw (w tym ścieżek) podkatalogów pasujących do wzorca wyszukiwania i opcji wyliczenia w określonym katalogu lub pustej tablicy, jeśli nie znaleziono katalogów.
Wyjątki
Obiekt wywołujący nie posiada wymaganych uprawnień.
.NET Framework i .NET Core w wersjach starszych niż 2.1: path
jest ciągiem o zerowej długości, zawiera tylko biały odstęp lub zawiera co najmniej jeden nieprawidłowy znak. Zapytania dotyczące nieprawidłowych znaków można wykonać przy użyciu polecenia GetInvalidPathChars().
-lub-
searchPattern
nie zawiera prawidłowego wzorca.
path
lub searchPattern
to null
.
Podana ścieżka, nazwa pliku lub obie przekraczają maksymalną długość zdefiniowaną przez system.
path
to nazwa pliku.
-lub-
Plik lub katalog jest uszkodzony i nieczytelny (na przykład: nieprawidłowa pierwsza jednostka alokacji partycji FAT32).
Określona ścieżka jest nieprawidłowa (na przykład znajduje się na niezamapowanym dysku).
Uwagi
Ta metoda zwraca wszystkie podkatalogi bezpośrednio w określonym katalogu, który jest zgodny z określonym wzorcem wyszukiwania. Jeśli określony katalog nie ma podkatalogów lub żaden podkatalog nie pasuje do parametru searchPattern
, ta metoda zwraca pustą tablicę. Przeszukiwany jest tylko górny katalog. Jeśli chcesz również przeszukać podkatalogi, użyj GetDirectories(String, String, SearchOption) metody i określ AllDirectories w parametrze searchOption
.
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) | Dokładnie jeden znak w tej pozycji. |
Znaki inne niż symbol wieloznaczny to znaki literału. Na przykład searchPattern
ciąg "*t" wyszukuje wszystkie nazwy path
kończące się literą "t". Ciąg searchPattern
"s*" wyszukuje wszystkie nazwy path
na początku litery "s".
searchPattern
nie może kończyć się dwoma kropkami ("..") lub zawierać dwa kropki (".)."), po DirectorySeparatorChar których następuje lub AltDirectorySeparatorChar, ani nie może zawierać żadnych nieprawidłowych znaków. Możesz wykonać zapytanie o nieprawidłowe znaki przy użyciu GetInvalidPathChars metody .
Parametr path
może określać informacje o ścieżce względnej lub bezwzględnej i nie uwzględnia wielkości liter. Informacje o ścieżce względnej są interpretowane jako względne w stosunku do bieżącego katalogu roboczego. Aby uzyskać bieżący katalog roboczy, zobacz GetCurrentDirectory.
Metody EnumerateDirectories i GetDirectories różnią się w następujący sposób: w przypadku używania metody EnumerateDirectoriesmożna rozpocząć wyliczanie kolekcji nazw przed zwróceniem całej kolekcji. W przypadku użycia metody GetDirectoriesnależy poczekać na zwrócenie całej tablicy nazw, zanim będzie można uzyskać dostęp do tablicy. W związku z tym podczas pracy z wieloma plikami i katalogami EnumerateDirectories może być wydajniejszy.
Aby uzyskać listę typowych zadań we/wy, zobacz Typowe zadania we/wy.
Dotyczy
GetDirectories(String, String)
- Źródło:
- Directory.cs
- Źródło:
- Directory.cs
- Źródło:
- Directory.cs
Zwraca nazwy podkatalogów (w tym ich ścieżek), które pasują do określonego wzorca wyszukiwania w określonym katalogu.
public:
static cli::array <System::String ^> ^ GetDirectories(System::String ^ path, System::String ^ searchPattern);
public static string[] GetDirectories (string path, string searchPattern);
static member GetDirectories : string * string -> string[]
Public Shared Function GetDirectories (path As String, searchPattern As String) As String()
Parametry
- path
- String
Ścieżka względna lub bezwzględna do katalogu do wyszukania. W tym ciągu nie jest rozróżniana wielkość liter.
- searchPattern
- String
Ciąg wyszukiwania zgodny z nazwami podkatalogów w pliku path
. Ten parametr może zawierać kombinację prawidłowych literałów i symboli wieloznacznych, ale nie obsługuje wyrażeń regularnych.
Zwraca
Tablica pełnych nazw (w tym ścieżek) podkatalogów pasujących do wzorca wyszukiwania w określonym katalogu lub pusta tablica, jeśli nie znaleziono katalogów.
Wyjątki
Obiekt wywołujący nie posiada wymaganych uprawnień.
.NET Framework i .NET Core w wersjach starszych niż 2.1: path
jest ciągiem o zerowej długości, zawiera tylko biały odstęp lub zawiera co najmniej jeden nieprawidłowy znak. Zapytania dotyczące nieprawidłowych znaków można wykonać przy użyciu polecenia GetInvalidPathChars().
-lub-
searchPattern
nie zawiera prawidłowego wzorca.
path
lub searchPattern
ma wartość null
.
Podana ścieżka, nazwa pliku lub obie przekraczają maksymalną długość zdefiniowaną przez system.
path
to nazwa pliku.
-lub-
Plik lub katalog jest uszkodzony i nieczytelny (na przykład: nieprawidłowa pierwsza jednostka alokacji partycji FAT32).
Określona ścieżka jest nieprawidłowa (na przykład znajduje się na niezamapowanym dysku).
Przykłady
Poniższy przykład zlicza liczbę katalogów w ścieżce rozpoczynającej się od określonej litery.
using namespace System;
using namespace System::IO;
int main()
{
try
{
// Only get subdirectories that begin with the letter "p."
array<String^>^dirs = Directory::GetDirectories( "c:\\", "p*" );
Console::WriteLine( "The number of directories starting with p is {0}.", dirs->Length );
Collections::IEnumerator^ myEnum = dirs->GetEnumerator();
while ( myEnum->MoveNext() )
{
Console::WriteLine( myEnum->Current );
}
}
catch ( Exception^ e )
{
Console::WriteLine( "The process failed: {0}", e );
}
}
using System;
using System.IO;
class Test
{
public static void Main()
{
try
{
// Only get subdirectories that begin with the letter "p."
string[] dirs = Directory.GetDirectories(@"c:\", "p*");
Console.WriteLine("The number of directories starting with p is {0}.", dirs.Length);
foreach (string dir in dirs)
{
Console.WriteLine(dir);
}
}
catch (Exception e)
{
Console.WriteLine("The process failed: {0}", e.ToString());
}
}
}
open System.IO
try
// Only get subdirectories that begin with the letter "p."
let dirs = Directory.GetDirectories(@"c:\", "p*")
printfn $"The number of directories starting with p is {dirs.Length}."
for dir in dirs do
printfn $"{dir}"
with e ->
printfn $"The process failed: {e}"
Imports System.IO
Public Class Test
Public Shared Sub Main()
Try
' Only get subdirectories that begin with the letter "p."
Dim dirs As String() = Directory.GetDirectories("c:\", "p*")
Console.WriteLine("The number of directories starting with p is {0}.", dirs.Length)
Dim dir As String
For Each dir In dirs
Console.WriteLine(dir)
Next
Catch e As Exception
Console.WriteLine("The process failed: {0}", e.ToString())
End Try
End Sub
End Class
Uwagi
Ta metoda zwraca wszystkie podkatalogi bezpośrednio w określonym katalogu, który jest zgodny z określonym wzorcem wyszukiwania. Jeśli określony katalog nie ma podkatalogów lub żaden podkatalog nie pasuje do parametru searchPattern
, ta metoda zwraca pustą tablicę. Przeszukiwany jest tylko górny katalog. Jeśli chcesz również przeszukać podkatalogi, użyj GetDirectories(String, String, SearchOption) metody i określ AllDirectories w parametrze searchOption
.
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 programie searchPattern
.
Specyfikator symboli wieloznacznych | Jest zgodny z |
---|---|
* (gwiazdka) | Zero lub więcej znaków w tej pozycji. |
? (znak zapytania) | Dokładnie jeden znak w tej pozycji. |
Znaki inne niż symbol wieloznaczny to znaki literału. Na przykład searchPattern
ciąg "*t" wyszukuje wszystkie nazwy path
kończące się literą "t". Ciąg searchPattern
"s*" wyszukuje wszystkie nazwy, path
zaczynając od litery "s".
searchPattern
program nie może kończyć się dwoma kropkami ("..") ani zawierać dwóch kropek (".."), po których następuje DirectorySeparatorChar znak lub AltDirectorySeparatorChar, ani nie może zawierać żadnych nieprawidłowych znaków. Zapytania dotyczące nieprawidłowych znaków można wykonać przy użyciu GetInvalidPathChars metody .
Parametr path
może określać informacje o ścieżce względnej lub bezwzględnej i nie uwzględnia wielkości liter. Informacje o ścieżce względnej są interpretowane jako względne w stosunku do bieżącego katalogu roboczego. Aby uzyskać bieżący katalog roboczy, zobacz GetCurrentDirectory.
Metody EnumerateDirectories i GetDirectories różnią się w następujący sposób: w przypadku użycia metody EnumerateDirectoriesmożna rozpocząć wyliczanie kolekcji nazw przed zwróceniem całej kolekcji. W przypadku użycia metody GetDirectoriesnależy poczekać na zwrócenie całej tablicy nazw, zanim będzie można uzyskać dostęp do tablicy. W związku z tym podczas pracy z wieloma plikami i katalogami EnumerateDirectories może być wydajniejszy.
Aby uzyskać listę typowych zadań we/wy, zobacz Typowe zadania we/wy.
Zobacz też
- GetCurrentDirectory()
- We/wy plików i Stream
- Instrukcje: Odczytywanie tekstu z pliku
- Instrukcje: Zapisywanie tekstu w pliku
Dotyczy
GetDirectories(String)
- Źródło:
- Directory.cs
- Źródło:
- Directory.cs
- Źródło:
- Directory.cs
Zwraca nazwy podkatalogów (w tym ich ścieżek) w określonym katalogu.
public:
static cli::array <System::String ^> ^ GetDirectories(System::String ^ path);
public static string[] GetDirectories (string path);
static member GetDirectories : string -> string[]
Public Shared Function GetDirectories (path As String) As String()
Parametry
- path
- String
Ścieżka względna lub bezwzględna do katalogu do wyszukania. W tym ciągu nie jest rozróżniana wielkość liter.
Zwraca
Tablica pełnych nazw (w tym ścieżek) podkatalogów w określonej ścieżce lub pusta tablica, jeśli nie znaleziono katalogów.
Wyjątki
Obiekt wywołujący nie posiada wymaganych uprawnień.
.NET Framework i .NET Core w wersjach starszych niż 2.1: path
jest ciągiem o zerowej długości, zawiera tylko biały znak lub zawiera co najmniej jeden nieprawidłowy znak. Zapytania dotyczące nieprawidłowych znaków można wykonać przy użyciu GetInvalidPathChars() metody .
path
to null
.
Podana ścieżka, nazwa pliku lub obie przekraczają maksymalną długość zdefiniowaną przez system.
path
to nazwa pliku.
-lub-
Plik lub katalog jest uszkodzony i nieczytelny (na przykład: nieprawidłowa pierwsza jednostka alokacji partycji FAT32).
Określona ścieżka jest nieprawidłowa (na przykład znajduje się na niezamapowanym dysku).
Przykłady
W poniższym przykładzie jest używana tablica nazw plików lub katalogów w wierszu polecenia, określa rodzaj nazwy i odpowiednio przetwarza ją.
// For Directory::GetFiles and Directory::GetDirectories
// For File::Exists, Directory::Exists
using namespace System;
using namespace System::IO;
using namespace System::Collections;
// Insert logic for processing found files here.
void ProcessFile( String^ path )
{
Console::WriteLine( "Processed file '{0}'.", path );
}
// Process all files in the directory passed in, recurse on any directories
// that are found, and process the files they contain.
void ProcessDirectory( String^ targetDirectory )
{
// Process the list of files found in the directory.
array<String^>^fileEntries = Directory::GetFiles( targetDirectory );
IEnumerator^ files = fileEntries->GetEnumerator();
while ( files->MoveNext() )
{
String^ fileName = safe_cast<String^>(files->Current);
ProcessFile( fileName );
}
// Recurse into subdirectories of this directory.
array<String^>^subdirectoryEntries = Directory::GetDirectories( targetDirectory );
IEnumerator^ dirs = subdirectoryEntries->GetEnumerator();
while ( dirs->MoveNext() )
{
String^ subdirectory = safe_cast<String^>(dirs->Current);
ProcessDirectory( subdirectory );
}
}
int main( int argc, char *argv[] )
{
for ( int i = 1; i < argc; i++ )
{
String^ path = gcnew String(argv[ i ]);
if ( File::Exists( path ) )
{
// This path is a file
ProcessFile( path );
}
else
if ( Directory::Exists( path ) )
{
// This path is a directory
ProcessDirectory( path );
}
else
{
Console::WriteLine( "{0} is not a valid file or directory.", path );
}
}
}
// For Directory.GetFiles and Directory.GetDirectories
// For File.Exists, Directory.Exists
using System;
using System.IO;
using System.Collections;
public class RecursiveFileProcessor
{
public static void Main(string[] args)
{
foreach(string path in args)
{
if(File.Exists(path))
{
// This path is a file
ProcessFile(path);
}
else if(Directory.Exists(path))
{
// This path is a directory
ProcessDirectory(path);
}
else
{
Console.WriteLine("{0} is not a valid file or directory.", path);
}
}
}
// Process all files in the directory passed in, recurse on any directories
// that are found, and process the files they contain.
public static void ProcessDirectory(string targetDirectory)
{
// Process the list of files found in the directory.
string [] fileEntries = Directory.GetFiles(targetDirectory);
foreach(string fileName in fileEntries)
ProcessFile(fileName);
// Recurse into subdirectories of this directory.
string [] subdirectoryEntries = Directory.GetDirectories(targetDirectory);
foreach(string subdirectory in subdirectoryEntries)
ProcessDirectory(subdirectory);
}
// Insert logic for processing found files here.
public static void ProcessFile(string path)
{
Console.WriteLine("Processed file '{0}'.", path);
}
}
module RecursiveFileProcessor
open System.IO
// Insert logic for processing found files here.
let processFile path =
printfn $"Processed file '%s{path}'."
// Process all files in the directory passed in, recurse on any directories
// that are found, and process the files they contain.
let rec processDirectory targetDirectory =
// Process the list of files found in the directory.
let fileEntries = Directory.GetFiles targetDirectory
for fileName in fileEntries do
processFile fileName
// Recurse into subdirectories of this directory.
let subdirectoryEntries = Directory.GetDirectories targetDirectory
for subdirectory in subdirectoryEntries do
processDirectory subdirectory
[<EntryPoint>]
let main args =
for path in args do
if File.Exists path then
// This path is a file
processFile path
elif Directory.Exists path then
// This path is a directory
processDirectory path
else
printfn $"{path} is not a valid file or directory."
0
' For Directory.GetFiles and Directory.GetDirectories
' For File.Exists, Directory.Exists
Imports System.IO
Imports System.Collections
Public Class RecursiveFileProcessor
Public Overloads Shared Sub Main(ByVal args() As String)
Dim path As String
For Each path In args
If File.Exists(path) Then
' This path is a file.
ProcessFile(path)
Else
If Directory.Exists(path) Then
' This path is a directory.
ProcessDirectory(path)
Else
Console.WriteLine("{0} is not a valid file or directory.", path)
End If
End If
Next path
End Sub
' Process all files in the directory passed in, recurse on any directories
' that are found, and process the files they contain.
Public Shared Sub ProcessDirectory(ByVal targetDirectory As String)
Dim fileEntries As String() = Directory.GetFiles(targetDirectory)
' Process the list of files found in the directory.
Dim fileName As String
For Each fileName In fileEntries
ProcessFile(fileName)
Next fileName
Dim subdirectoryEntries As String() = Directory.GetDirectories(targetDirectory)
' Recurse into subdirectories of this directory.
Dim subdirectory As String
For Each subdirectory In subdirectoryEntries
ProcessDirectory(subdirectory)
Next subdirectory
End Sub
' Insert logic for processing found files here.
Public Shared Sub ProcessFile(ByVal path As String)
Console.WriteLine("Processed file '{0}'.", path)
End Sub
End Class
Uwagi
Ta metoda jest identyczna GetDirectories(String, String) z gwiazdką (*) określoną jako wzorzec wyszukiwania, dlatego zwraca wszystkie podkatalogi. Jeśli musisz wyszukać podkatalogi, użyj GetDirectories(String, String, SearchOption) metody , która umożliwia określenie wyszukiwania podkatalogów za pomocą parametru searchOption
.
Metody EnumerateDirectories i GetDirectories różnią się w następujący sposób: w przypadku użycia metody EnumerateDirectoriesmożna rozpocząć wyliczanie kolekcji nazw przed zwróceniem całej kolekcji. W przypadku użycia metody GetDirectoriesnależy poczekać na zwrócenie całej tablicy nazw, zanim będzie można uzyskać dostęp do tablicy. W związku z tym podczas pracy z wieloma plikami i katalogami EnumerateDirectories może być wydajniejszy.
Parametr path
może określać informacje o ścieżce względnej lub bezwzględnej. Informacje o ścieżce względnej są interpretowane jako względne w stosunku do bieżącego katalogu roboczego. Aby uzyskać bieżący katalog roboczy, zobacz GetCurrentDirectory.
Nazwy zwracane przez tę metodę są poprzedzone informacjami o katalogu podanymi w pliku path
.
Wielkość liter parametru path
odpowiada wielkości liter w systemie plików, w którym jest uruchomiony kod. Na przykład jest rozróżniana wielkość liter w systemie plików NTFS (domyślny system plików systemu Windows) i rozróżniana jest wielkość liter w systemach plików systemu Linux.
Aby uzyskać listę typowych zadań we/wy, zobacz Typowe zadania we/wy.
Zobacz też
- GetCurrentDirectory()
- We/wy plików i Stream
- Instrukcje: Odczytywanie tekstu z pliku
- Instrukcje: Zapisywanie tekstu w pliku