DirectoryInfo.GetDirectories 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
回傳目前目錄的子目錄。
多載
| 名稱 | Description |
|---|---|
| GetDirectories() |
回傳目前目錄的子目錄。 |
| GetDirectories(String) |
回傳目前目錄陣列 DirectoryInfo ,符合給定的搜尋條件。 |
| GetDirectories(String, EnumerationOptions) |
回傳目前目錄陣列 DirectoryInfo ,符合指定的搜尋模式與列舉選項。 |
| GetDirectories(String, SearchOption) |
回傳一個目前目錄陣列 DirectoryInfo ,符合給定的搜尋條件,並使用一個值決定是否搜尋子目錄。 |
GetDirectories()
回傳目前目錄的子目錄。
public:
cli::array <System::IO::DirectoryInfo ^> ^ GetDirectories();
public System.IO.DirectoryInfo[] GetDirectories();
member this.GetDirectories : unit -> System.IO.DirectoryInfo[]
Public Function GetDirectories () As DirectoryInfo()
傳回
DirectoryInfo 物件的陣列。
例外狀況
封裝在物件中的 DirectoryInfo 路徑無效,例如位於未映射的磁碟上。
來電者沒有所需的權限。
來電者沒有所需的權限。
範例
以下範例會擷取根目錄中的所有目錄,並顯示目錄名稱。
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
備註
若沒有子目錄,此方法會回傳空陣列。 此方法並非遞迴。
此方法預先填充以下 DirectoryInfo 屬性的值:
另請參閱
適用於
GetDirectories(String)
回傳目前目錄陣列 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()
參數
- searchPattern
- String
搜尋字串用來與目錄名稱相符。 此參數可包含有效的文字路徑與通配符(* 與 ?)字元,但不支援正則表達式。
傳回
一個類型 DirectoryInfo 匹配 searchPattern的陣列。
例外狀況
.NET Framework 與 .NET Core 版本早於 2.1: searchPattern 包含一個或多個由方法定義 GetInvalidPathChars() 的無效字元。
searchPattern 是 null。
封裝在 DirectoryInfo 物件中的路徑無效(例如,它位於未映射的磁碟上)。
來電者沒有所需的權限。
範例
以下範例計算路徑中包含指定字母的目錄。
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
備註
searchPattern 它可以是字面字元和萬用字元的組合,但它不支援正則表達式。 以下允許的萬用字元規定符。searchPattern
| 萬用字元指定器 | 比對 |
|---|---|
| * (星號) | 沒有或多個角色處於那個位置。 |
| ? (問號) | 那個位置沒有角色。 |
除了萬用卡以外的角色,都是字面上的字面角色。 例如,字串「*t」搜尋所有以字母「t」結尾的名字。 ".
searchPattern字串「s*」搜尋所有以字母「s」開頭的path名稱。
此方法預先填充以下 DirectoryInfo 屬性的值:
另請參閱
適用於
GetDirectories(String, EnumerationOptions)
回傳目前目錄陣列 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()
參數
- searchPattern
- String
搜尋字串用來與目錄名稱相符。 此參數可包含有效的文字路徑與通配符(* 與 ?)字元,但不支援正則表達式。
- enumerationOptions
- EnumerationOptions
一個描述搜尋與列舉配置的物件。
傳回
一個型別DirectoryInfo匹配searchPattern的陣列。enumerationOptions
例外狀況
.NET Framework 與 .NET Core 版本早於 2.1: searchPattern 包含一個或多個由方法定義 GetInvalidPathChars() 的無效字元。
searchPattern 是 null。
封裝在 DirectoryInfo 物件中的路徑無效(例如,它位於未映射的磁碟上)。
來電者沒有所需的權限。
備註
searchPattern 它可以是字面字元和萬用字元的組合,但它不支援正則表達式。 以下允許的萬用字元規定符。searchPattern
| 萬用字元指定器 | 比對 |
|---|---|
| * (星號) | 沒有或多個角色處於那個位置。 |
| ? (問號) | 那個位置沒有角色。 |
除了萬用卡以外的角色,都是字面上的字面角色。 例如,字串「*t」搜尋所有以字母「t」結尾的名字。 ".
searchPattern字串「s*」搜尋所有以字母「s」開頭的path名稱。
此方法預先填充以下 DirectoryInfo 屬性的值:
適用於
GetDirectories(String, SearchOption)
回傳一個目前目錄陣列 DirectoryInfo ,符合給定的搜尋條件,並使用一個值決定是否搜尋子目錄。
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()
參數
- searchPattern
- String
搜尋字串用來與目錄名稱相符。 此參數可包含有效的文字路徑與通配符(* 與 ?)字元,但不支援正則表達式。
- searchOption
- SearchOption
列舉值之一,指定搜尋操作應只包含目前目錄還是所有子目錄。
傳回
一個類型 DirectoryInfo 匹配 searchPattern的陣列。
例外狀況
.NET Framework 與 .NET Core 版本早於 2.1: searchPattern 包含一個或多個由方法定義 GetInvalidPathChars() 的無效字元。
searchPattern 是 null。
searchOption 不是一個有效的 SearchOption 值。
封裝在 DirectoryInfo 物件中的路徑無效(例如,它位於未映射的磁碟上)。
來電者沒有所需的權限。
範例
以下範例列出所有以字母「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
備註
searchPattern 它可以是字面字元和萬用字元的組合,但它不支援正則表達式。 以下允許的萬用字元規定符。searchPattern
| 萬用字元指定器 | 比對 |
|---|---|
| * (星號) | 沒有或多個角色處於那個位置。 |
| ? (問號) | 那個位置沒有角色。 |
除了萬用卡以外的角色,都是字面上的字面角色。 例如,字串「*t」搜尋所有以字母「t」結尾的名字。 ".
searchPattern字串「s*」搜尋所有以字母「s」開頭的path名稱。
若無子目錄,或無子目錄與參數相符 searchPattern ,此方法回傳空陣列。
此方法預先填充以下 DirectoryInfo 屬性的值: