DirectoryInfo.GetDirectories 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
현재 디렉터리의 하위 디렉터리를 반환합니다.
오버로드
GetDirectories() |
현재 디렉터리의 하위 디렉터리를 반환합니다. |
GetDirectories(String) |
주어진 검색 조건에 일치하는 현재 DirectoryInfo에 있는 디렉터리의 배열을 반환합니다. |
GetDirectories(String, EnumerationOptions) |
지정된 검색 패턴 및 열거 옵션과 일치하는 현재 DirectoryInfo의 디렉터리배열을 반환합니다. |
GetDirectories(String, SearchOption) |
하위 디렉터리를 검색할지 여부를 나타내는 값을 사용하여 현재 DirectoryInfo에서 지정된 검색 조건과 일치하는 디렉터리의 배열을 반환합니다. |
GetDirectories()
- Source:
- DirectoryInfo.cs
- Source:
- DirectoryInfo.cs
- Source:
- 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 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
설명
하위 디렉터리가 없는 경우 이 메서드는 빈 배열을 반환합니다. 이 메서드는 재귀적이지 않습니다.
이 메서드는 다음 DirectoryInfo 속성의 값을 미리 채웁니다.
추가 정보
적용 대상
GetDirectories(String)
- Source:
- DirectoryInfo.cs
- Source:
- DirectoryInfo.cs
- Source:
- 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
디렉터리 이름과 일치하는지 비교할 검색 문자열입니다. 이 매개 변수는 유효한 리터럴 경로와 와일드카드(* 및 ?) 문자로 된 조합을 포함하지만 정규식을 지원하지 않습니다.
반환
searchPattern
에 일치하는 DirectoryInfo
형식의 배열입니다.
예외
2.1보다 오래된 .NET Framework 및 .NET Core 버전: searchPattern
메서드에서 정의한 GetInvalidPathChars() 하나 이상의 잘못된 문자를 포함합니다.
searchPattern
이(가) null
인 경우
DirectoryInfo
개체에서 캡슐화된 경로가 잘못된 경우(예: 매핑되지 않은 드라이브의 경로를 지정한 경우)
호출자에게 필요한 권한이 없는 경우
예제
다음 예제에서는 지정된 문자를 포함하는 경로의 디렉터리를 계산합니다.
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
설명
searchPattern
는 리터럴 문자와 와일드카드 문자의 조합일 수 있지만 정규식을 지원하지는 않습니다. 에서 허용되는 와일드카드 지정자는 다음과 같습니다 searchPattern
.
와일드카드 지정자 | 일치하는 항목 |
---|---|
*(별표) | 해당 위치에 0개 이상의 문자가 있습니다. |
? (물음표) | 해당 위치에 있는 문자가 0개 또는 1개입니다. |
와일드카드 이외의 문자는 리터럴 문자입니다. 예를 들어 문자열 "*t"는 문자 "t"로 끝나는 의 모든 이름을 검색합니다. ". 문자열 "s*"는 searchPattern
문자 "s"로 path
시작하는 의 모든 이름을 검색합니다.
이 메서드는 다음 DirectoryInfo 속성의 값을 미리 채웁니다.
추가 정보
적용 대상
GetDirectories(String, EnumerationOptions)
- Source:
- DirectoryInfo.cs
- Source:
- DirectoryInfo.cs
- Source:
- 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
사용할 검색 및 열거형 구성을 설명하는 개체입니다.
반환
searchPattern
및 enumerationOptions
에 일치하는 형식의 배열 DirectoryInfo
입니다.
예외
2.1보다 오래된 .NET Framework 및 .NET Core 버전: searchPattern
메서드에서 정의한 GetInvalidPathChars() 하나 이상의 잘못된 문자를 포함합니다.
searchPattern
이(가) null
인 경우
DirectoryInfo
개체에서 캡슐화된 경로가 잘못된 경우(예: 매핑되지 않은 드라이브의 경로를 지정한 경우)
호출자에게 필요한 권한이 없는 경우
설명
searchPattern
는 리터럴 문자와 와일드카드 문자의 조합일 수 있지만 정규식을 지원하지는 않습니다. 에서 허용되는 와일드카드 지정자는 다음과 같습니다 searchPattern
.
와일드카드 지정자 | 일치하는 항목 |
---|---|
*(별표) | 해당 위치에 0개 이상의 문자가 있습니다. |
? (물음표) | 해당 위치에 있는 문자가 0개 또는 1개입니다. |
와일드카드 이외의 문자는 리터럴 문자입니다. 예를 들어 문자열 "*t"는 문자 "t"로 끝나는 의 모든 이름을 검색합니다. ". 문자열 "s*"는 searchPattern
문자 "s"로 path
시작하는 의 모든 이름을 검색합니다.
이 메서드는 다음 DirectoryInfo 속성의 값을 미리 채웁니다.
적용 대상
GetDirectories(String, SearchOption)
- Source:
- DirectoryInfo.cs
- Source:
- DirectoryInfo.cs
- Source:
- 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
검색 작업에 현재 디렉터리만 포함할지 아니면 모든 하위 디렉터리를 포함할지를 지정하는 열거형 값 중 하나입니다.
반환
searchPattern
에 일치하는 DirectoryInfo
형식의 배열입니다.
예외
2.1보다 오래된 .NET Framework 및 .NET Core 버전: searchPattern
메서드에서 정의한 GetInvalidPathChars() 하나 이상의 잘못된 문자를 포함합니다.
searchPattern
은 null
입니다.
searchOption
는 유효한 SearchOption 값이 아닙니다.
DirectoryInfo
개체에서 캡슐화된 경로가 잘못된 경우(예: 매핑되지 않은 드라이브의 경로를 지정한 경우)
호출자에게 필요한 권한이 없는 경우
예제
다음 예제에서는 "c:\"의 문자 "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
설명
searchPattern
는 리터럴 문자와 와일드카드 문자의 조합일 수 있지만 정규식을 지원하지는 않습니다. 에서 허용되는 와일드카드 지정자는 다음과 같습니다 searchPattern
.
와일드카드 지정자 | 일치하는 항목 |
---|---|
*(별표) | 해당 위치에 0개 이상의 문자가 있습니다. |
? (물음표) | 해당 위치에 있는 문자가 0개 또는 1개입니다. |
와일드카드 이외의 문자는 리터럴 문자입니다. 예를 들어 문자열 "*t"는 문자 "t"로 끝나는 의 모든 이름을 검색합니다. ". 문자열 "s*"는 searchPattern
문자 "s"로 path
시작하는 의 모든 이름을 검색합니다.
하위 디렉터리가 없거나 매개 변수와 일치하는 searchPattern
하위 디렉터리가 없는 경우 이 메서드는 빈 배열을 반환합니다.
이 메서드는 다음 DirectoryInfo 속성의 값을 미리 채웁니다.
추가 정보
적용 대상
.NET