DirectoryInfo.GetDirectories 메서드

정의

현재 디렉터리의 하위 디렉터리를 반환합니다.

오버로드

Name Description
GetDirectories()

현재 디렉터리의 하위 디렉터리를 반환합니다.

GetDirectories(String)

지정된 검색 조건과 일치하는 현재 DirectoryInfo 디렉터리 배열을 반환합니다.

GetDirectories(String, EnumerationOptions)

지정된 검색 패턴 및 열거형 옵션과 일치하는 현재 DirectoryInfo 디렉터리 배열을 반환합니다.

GetDirectories(String, SearchOption)

지정된 검색 조건과 일치하는 현재 DirectoryInfo 디렉터리 배열을 반환하고 값을 사용하여 하위 디렉터리를 검색할지 여부를 결정합니다.

GetDirectories()

Source:
DirectoryInfo.cs
Source:
DirectoryInfo.cs
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 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
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

디렉터리 이름과 일치하는 검색 문자열입니다. 이 매개 변수는 유효한 리터럴 경로와 와일드카드(* 및 ?) 문자의 조합을 포함할 수 있지만 정규식을 지원하지는 않습니다.

반품

일치하는 형식 DirectoryInfo 의 배열입니다 searchPattern.

예외

.NET Framework 및 2.1 이전의 .NET Core 버전: searchPattern 메서드에서 정의한 GetInvalidPathChars() 하나 이상의 잘못된 문자를 포함합니다.

searchPatternnull입니다.

개체에 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"로 끝나는 모든 이름을 검색합니다. ". 문자열 "s*"는 searchPattern 문자 "s"로 path 시작하는 모든 이름을 검색합니다.

이 메서드는 다음 DirectoryInfo 속성의 값을 미리 채웁니다.

추가 정보

적용 대상

GetDirectories(String, EnumerationOptions)

Source:
DirectoryInfo.cs
Source:
DirectoryInfo.cs
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

사용할 검색 및 열거형 구성을 설명하는 개체입니다.

반품

일치하는 DirectoryInfo 형식 searchPatternenumerationOptions.의 배열입니다.

예외

.NET Framework 및 2.1 이전의 .NET Core 버전: searchPattern 메서드에서 정의한 GetInvalidPathChars() 하나 이상의 잘못된 문자를 포함합니다.

searchPatternnull입니다.

개체에 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
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

검색 작업에 현재 디렉터리 또는 모든 하위 디렉터리만 포함할지 여부를 지정하는 열거형 값 중 하나입니다.

반품

일치하는 형식 DirectoryInfo 의 배열입니다 searchPattern.

예외

.NET Framework 및 2.1 이전의 .NET Core 버전: searchPattern 메서드에서 정의한 GetInvalidPathChars() 하나 이상의 잘못된 문자를 포함합니다.

searchPatternnull입니다.

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"로 끝나는 모든 이름을 검색합니다. ". 문자열 "s*"는 searchPattern 문자 "s"로 path 시작하는 모든 이름을 검색합니다.

하위 디렉터리가 없거나 매개 변수와 일치하는 searchPattern 하위 디렉터리가 없으면 이 메서드는 빈 배열을 반환합니다.

이 메서드는 다음 DirectoryInfo 속성의 값을 미리 채웁니다.

추가 정보

적용 대상