DirectoryInfo.GetDirectories メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
現在のディレクトリのサブディレクトリを返します。
オーバーロード
| 名前 | 説明 |
|---|---|
| GetDirectories() |
現在のディレクトリのサブディレクトリを返します。 |
| GetDirectories(String) |
指定された検索条件に一致する現在の DirectoryInfo 内のディレクトリの配列を返します。 |
| GetDirectories(String, EnumerationOptions) |
指定した検索パターンと列挙オプションに一致する現在の DirectoryInfo 内のディレクトリの配列を返します。 |
| GetDirectories(String, SearchOption) |
指定した検索条件に一致し、値を使用してサブディレクトリを検索するかどうかを判断する現在の DirectoryInfo 内のディレクトリの配列を返します。 |
GetDirectories()
- ソース:
- DirectoryInfo.cs
- ソース:
- DirectoryInfo.cs
- ソース:
- DirectoryInfo.cs
- ソース:
- DirectoryInfo.cs
- ソース:
- DirectoryInfo.cs
現在のディレクトリのサブディレクトリを返します。
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.cs
- ソース:
- DirectoryInfo.cs
- ソース:
- DirectoryInfo.cs
- ソース:
- DirectoryInfo.cs
- ソース:
- DirectoryInfo.cs
指定された検索条件に一致する現在の 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
ディレクトリの名前と照合する検索文字列。 このパラメーターには、有効なリテラル パスとワイルドカード (* および ?) 文字の組み合わせを含めることができますが、正規表現はサポートされていません。
返品
一致するDirectoryInfosearchPattern型の配列。
例外
.NET Framework および .NET Core バージョンが 2.1 より前の場合: searchPattern には、 GetInvalidPathChars() メソッドによって定義された 1 つ以上の無効な文字が含まれています。
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では、次のワイルドカード指定子を使用できます。
| ワイルドカード指定子 | 一致 |
|---|---|
| * (アスタリスク) | その位置の 0 個以上の文字。 |
| ? (疑問符) | その位置の 0 文字または 1 文字。 |
ワイルドカード以外の文字はリテラル文字です。 たとえば、文字列 "*t" は文字 "t" で終わるすべての名前を検索します。 ".
searchPattern文字列 "s*" は、文字 "s" で始まるpath内のすべての名前を検索します。
このメソッドは、次の DirectoryInfo プロパティの値を事前に設定します。
こちらもご覧ください
適用対象
GetDirectories(String, EnumerationOptions)
- ソース:
- DirectoryInfo.cs
- ソース:
- DirectoryInfo.cs
- ソース:
- DirectoryInfo.cs
- ソース:
- DirectoryInfo.cs
- ソース:
- DirectoryInfo.cs
指定した検索パターンと列挙オプションに一致する現在の 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とsearchPatternenumerationOptions型の配列。
例外
.NET Framework および .NET Core バージョンが 2.1 より前の場合: searchPattern には、 GetInvalidPathChars() メソッドによって定義された 1 つ以上の無効な文字が含まれています。
searchPattern は nullです。
DirectoryInfo オブジェクトにカプセル化されたパスが無効です (たとえば、マップされていないドライブ上にあります)。
呼び出し元に必要なアクセス許可がありません。
注釈
searchPattern にはリテラル文字とワイルドカード文字の組み合わせを指定できますが、正規表現はサポートされていません。
searchPatternでは、次のワイルドカード指定子を使用できます。
| ワイルドカード指定子 | 一致 |
|---|---|
| * (アスタリスク) | その位置の 0 個以上の文字。 |
| ? (疑問符) | その位置の 0 文字または 1 文字。 |
ワイルドカード以外の文字はリテラル文字です。 たとえば、文字列 "*t" は文字 "t" で終わるすべての名前を検索します。 ".
searchPattern文字列 "s*" は、文字 "s" で始まるpath内のすべての名前を検索します。
このメソッドは、次の DirectoryInfo プロパティの値を事前に設定します。
適用対象
GetDirectories(String, SearchOption)
- ソース:
- DirectoryInfo.cs
- ソース:
- DirectoryInfo.cs
- ソース:
- DirectoryInfo.cs
- ソース:
- DirectoryInfo.cs
- ソース:
- DirectoryInfo.cs
指定した検索条件に一致し、値を使用してサブディレクトリを検索するかどうかを判断する現在の 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
検索操作に現在のディレクトリのみを含めるか、すべてのサブディレクトリのみを含めるかを指定する列挙値の 1 つ。
返品
一致するDirectoryInfosearchPattern型の配列。
例外
.NET Framework および .NET Core バージョンが 2.1 より前の場合: searchPattern には、 GetInvalidPathChars() メソッドによって定義された 1 つ以上の無効な文字が含まれています。
searchPattern は nullです。
searchOption が有効な SearchOption 値ではありません。
DirectoryInfo オブジェクトにカプセル化されたパスが無効です (たとえば、マップされていないドライブ上にあります)。
呼び出し元に必要なアクセス許可がありません。
例
次の例では、"c:\" の文字 "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では、次のワイルドカード指定子を使用できます。
| ワイルドカード指定子 | 一致 |
|---|---|
| * (アスタリスク) | その位置の 0 個以上の文字。 |
| ? (疑問符) | その位置の 0 文字または 1 文字。 |
ワイルドカード以外の文字はリテラル文字です。 たとえば、文字列 "*t" は文字 "t" で終わるすべての名前を検索します。 ".
searchPattern文字列 "s*" は、文字 "s" で始まるpath内のすべての名前を検索します。
サブディレクトリがない場合、または searchPattern パラメーターと一致するサブディレクトリがない場合、このメソッドは空の配列を返します。
このメソッドは、次の DirectoryInfo プロパティの値を事前に設定します。