문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문
이 설명서는 보관되지만 유지 되지 않습니다.

Directory.GetDirectories 메서드 (String)

지정된 디렉터리에 있는 하위 디렉터리(경로 포함)의 이름을 가져옵니다.

네임스페이스:  System.IO
어셈블리:  mscorlib(mscorlib.dll)

public static string[] GetDirectories(
	string path
)

매개 변수

path
형식: System.String
하위 디렉터리 이름 배열이 반환될 경로입니다.

반환 값

형식: System.String[]
path에 있는 하위 디렉터리의 이름 배열입니다.

예외상황
UnauthorizedAccessException

호출자에게 필요한 사용 권한이 없는 경우

ArgumentException

path가 길이가 0인 문자열이거나, 공백만 포함하거나 또는 InvalidPathChars로 정의된 하나 이상의 잘못된 문자를 포함하는 경우

ArgumentNullException

pathnull인 경우

PathTooLongException

지정된 경로 또는 파일 이름이 시스템에 정의된 최대 길이를 초과하는 경우. 예를 들어, Windows 기반 플랫폼에서는 경로에 248자 미만의 문자를 사용해야 하며 파일 이름에는 260자 미만의 문자를 사용해야 합니다.

IOException

path가 파일 이름인 경우

DirectoryNotFoundException

지정된 경로가 잘못된 경우(예: 매핑되지 않은 드라이브의 경로를 지정한 경우)

하위 디렉터리가 없으면 이 메서드는 빈 배열을 반환합니다.

path 매개 변수에는 상대 경로나 절대 경로 정보를 지정할 수 있습니다. 상대 경로 정보는 현재 작업 디렉터리에 상대적으로 해석됩니다. 현재 작업 디렉터리를 얻는 방법에 대해서는 GetCurrentDirectory를 참조하십시오.

이 메서드는 검색 패턴으로 별표(*)가 지정된 GetDirectories와 동일합니다.

이 메서드에서 반환되는 이름에는 path로 제공된 디렉터리 정보가 접두사로 붙습니다.

path 매개 변수는 대/소문자를 구분하지 않습니다.

공통 I/O 작업의 목록에 대해서는, 공통적인 I/O 작업을 참고하십시오.

다음 코드 예제에서는 명령줄에서 파일 또는 디렉터리 이름의 배열을 사용하여 이름의 유형을 확인한 후 적절하게 처리합니다.


// For Directory.GetFiles and Directory.GetDirectories
// For File.Exists, Directory.Exists
using System;
using System.IO;
using System.Collections;

public class RecursiveFileProcessor 
{
    public static void Main(string[] args) 
    {
        foreach(string path in args) 
        {
            if(File.Exists(path)) 
            {
                // This path is a file
                ProcessFile(path); 
            }               
            else if(Directory.Exists(path)) 
            {
                // This path is a directory
                ProcessDirectory(path);
            }
            else 
            {
                Console.WriteLine("{0} is not a valid file or directory.", path);
            }        
        }        
    }


    // Process all files in the directory passed in, recurse on any directories 
    // that are found, and process the files they contain.
    public static void ProcessDirectory(string targetDirectory) 
    {
        // Process the list of files found in the directory.
        string [] fileEntries = Directory.GetFiles(targetDirectory);
        foreach(string fileName in fileEntries)
            ProcessFile(fileName);

        // Recurse into subdirectories of this directory.
        string [] subdirectoryEntries = Directory.GetDirectories(targetDirectory);
        foreach(string subdirectory in subdirectoryEntries)
            ProcessDirectory(subdirectory);
    }

    // Insert logic for processing found files here.
    public static void ProcessFile(string path) 
    {
        Console.WriteLine("Processed file '{0}'.", path);	    
    }
}


.NET Framework

4, 3.5, 3.0, 2.0, 1.1, 1.0에서 지원

.NET Framework Client Profile

4, 3.5 SP1에서 지원

Windows 7, Windows Vista SP1 이상, Windows XP SP3, Windows XP SP2 x64 버전, Windows Server 2008(Server Core는 지원되지 않음), Windows Server 2008 R2(Server Core는 SP1 이상에서 지원됨), Windows Server 2003 SP2

.NET Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.
표시: