DirectoryInfo.GetDirectories Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Returnerar underkatalogerna för den aktuella katalogen.
Överlagringar
| Name | Description |
|---|---|
| GetDirectories() |
Returnerar underkatalogerna för den aktuella katalogen. |
| GetDirectories(String) |
Returnerar en matris med kataloger i den aktuella DirectoryInfo som matchar det angivna sökvillkoren. |
| GetDirectories(String, EnumerationOptions) |
Returnerar en matris med kataloger i den aktuella DirectoryInfo som matchar det angivna sökmönstret och uppräkningsalternativen. |
| GetDirectories(String, SearchOption) |
Returnerar en matris med kataloger i den aktuella DirectoryInfo som matchar de angivna sökvillkoren och använder ett värde för att avgöra om underkataloger ska sökas igenom. |
GetDirectories()
Returnerar underkatalogerna för den aktuella katalogen.
public:
cli::array <System::IO::DirectoryInfo ^> ^ GetDirectories();
public System.IO.DirectoryInfo[] GetDirectories();
member this.GetDirectories : unit -> System.IO.DirectoryInfo[]
Public Function GetDirectories () As DirectoryInfo()
Returer
En matris med DirectoryInfo objekt.
Undantag
Sökvägen som är inkapslad i DirectoryInfo objektet är ogiltig, till exempel på en ommappad enhet.
Anroparen har inte den behörighet som krävs.
Anroparen har inte den behörighet som krävs.
Exempel
I följande exempel hämtas alla kataloger i rotkatalogen och katalognamnen visas.
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
Kommentarer
Om det inte finns några underkataloger returnerar den här metoden en tom matris. Den här metoden är inte rekursiv.
Den här metoden fyller i värdena för följande DirectoryInfo egenskaper i förväg:
Se även
Gäller för
GetDirectories(String)
Returnerar en matris med kataloger i den aktuella DirectoryInfo som matchar det angivna sökvillkoren.
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()
Parametrar
- searchPattern
- String
Söksträngen som ska matchas mot namnen på kataloger. Den här parametern kan innehålla en kombination av giltiga teckensökväg och jokertecken (* och ?), men den stöder inte reguljära uttryck.
Returer
En matris av typen DirectoryInfo matchande searchPattern.
Undantag
.NET Framework- och .NET Core-versioner som är äldre än 2.1: searchPattern innehåller ett eller flera ogiltiga tecken som definierats av metoden GetInvalidPathChars().
searchPattern är null.
Sökvägen som är inkapslad i DirectoryInfo objektet är ogiltig (den finns till exempel på en ommappad enhet).
Anroparen har inte den behörighet som krävs.
Exempel
I följande exempel räknas katalogerna i en sökväg som innehåller den angivna bokstaven.
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
Kommentarer
searchPattern kan vara en kombination av literaltecken och jokertecken, men det stöder inte reguljära uttryck. Följande jokerteckensspecificerare tillåts i searchPattern.
| Jokerteckensspecificerare | Matcher |
|---|---|
| * (asterisk) | Noll eller fler tecken i den positionen. |
| ? (frågetecken) | Noll eller ett tecken i den positionen. |
Andra tecken än jokertecknet är literaltecken. Strängen "*t" söker till exempel efter alla namn som slutar med bokstaven "t". ". Strängen searchPattern "s*" söker efter alla namn från path och med bokstaven "s".
Den här metoden fyller i värdena för följande DirectoryInfo egenskaper i förväg:
Se även
Gäller för
GetDirectories(String, EnumerationOptions)
Returnerar en matris med kataloger i den aktuella DirectoryInfo som matchar det angivna sökmönstret och uppräkningsalternativen.
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()
Parametrar
- searchPattern
- String
Söksträngen som ska matchas mot namnen på kataloger. Den här parametern kan innehålla en kombination av giltiga teckensökväg och jokertecken (* och ?), men den stöder inte reguljära uttryck.
- enumerationOptions
- EnumerationOptions
Ett objekt som beskriver den sök- och uppräkningskonfiguration som ska användas.
Returer
En matris av typen DirectoryInfo matchning searchPattern och enumerationOptions.
Undantag
.NET Framework- och .NET Core-versioner som är äldre än 2.1: searchPattern innehåller ett eller flera ogiltiga tecken som definierats av metoden GetInvalidPathChars().
searchPattern är null.
Sökvägen som är inkapslad i DirectoryInfo objektet är ogiltig (den finns till exempel på en ommappad enhet).
Anroparen har inte den behörighet som krävs.
Kommentarer
searchPattern kan vara en kombination av literaltecken och jokertecken, men det stöder inte reguljära uttryck. Följande jokerteckensspecificerare tillåts i searchPattern.
| Jokerteckensspecificerare | Matcher |
|---|---|
| * (asterisk) | Noll eller fler tecken i den positionen. |
| ? (frågetecken) | Noll eller ett tecken i den positionen. |
Andra tecken än jokertecknet är literaltecken. Strängen "*t" söker till exempel efter alla namn som slutar med bokstaven "t". ". Strängen searchPattern "s*" söker efter alla namn från path och med bokstaven "s".
Den här metoden fyller i värdena för följande DirectoryInfo egenskaper i förväg:
Gäller för
GetDirectories(String, SearchOption)
Returnerar en matris med kataloger i den aktuella DirectoryInfo som matchar de angivna sökvillkoren och använder ett värde för att avgöra om underkataloger ska sökas igenom.
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()
Parametrar
- searchPattern
- String
Söksträngen som ska matchas mot namnen på kataloger. Den här parametern kan innehålla en kombination av giltiga teckensökväg och jokertecken (* och ?), men den stöder inte reguljära uttryck.
- searchOption
- SearchOption
Ett av uppräkningsvärdena som anger om sökåtgärden endast ska innehålla den aktuella katalogen eller alla underkataloger.
Returer
En matris av typen DirectoryInfo matchande searchPattern.
Undantag
.NET Framework- och .NET Core-versioner som är äldre än 2.1: searchPattern innehåller ett eller flera ogiltiga tecken som definierats av metoden GetInvalidPathChars().
searchPattern är null.
searchOption är inte ett giltigt SearchOption värde.
Sökvägen som är inkapslad i DirectoryInfo objektet är ogiltig (den finns till exempel på en ommappad enhet).
Anroparen har inte den behörighet som krävs.
Exempel
I följande exempel visas alla kataloger och filer som börjar med bokstaven "c" i "c:\".
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
Kommentarer
searchPattern kan vara en kombination av literaltecken och jokertecken, men det stöder inte reguljära uttryck. Följande jokerteckensspecificerare tillåts i searchPattern.
| Jokerteckensspecificerare | Matcher |
|---|---|
| * (asterisk) | Noll eller fler tecken i den positionen. |
| ? (frågetecken) | Noll eller ett tecken i den positionen. |
Andra tecken än jokertecknet är literaltecken. Strängen "*t" söker till exempel efter alla namn som slutar med bokstaven "t". ". Strängen searchPattern "s*" söker efter alla namn från path och med bokstaven "s".
Om det inte finns några underkataloger, eller om inga underkataloger matchar parametern searchPattern , returnerar den här metoden en tom matris.
Den här metoden fyller i värdena för följande DirectoryInfo egenskaper i förväg: