C #의 단일 전체 경로에서 여러 디렉토리를 만드는 방법은 무엇입니까?


162

전체 경로가있는 경우 : "C:\dir0\dir1\dir2\dir3\dir4\"모든 디렉토리가 존재하도록 어떻게 구현하는 것이 가장 좋습니까?

BCL에이를위한 방법이 있습니까? 그렇지 않은 경우 가장 우아한 방법은 무엇입니까?

답변:


346

나는 부를 것이다 Directory.CreateDirectory(@"C:\dir0\dir1\dir2\dir3\dir4\").

일반적인 믿음과 Directory.CreateDirectory는 달리 존재하지 않는 상위 디렉토리를 자동으로 작성합니다.
MSDN의 말로Creates all directories and subdirectories as specified by path.

전체 경로가 이미 존재하면 아무 것도 수행하지 않습니다. (예외는 발생하지 않습니다)


3
고마워, 나는 이것을 몰랐다. 경로는 파일 경로가 아닌 디렉토리 경로 여야합니까?
Joan Venge

27
@Joan : 예; 전화 Path.GetDirectoryName해서 구할 수 있습니다.
SLaks


3

완전한 파일 경로에서 디렉토리 작성

private String EvaluatePath(String path){

    try
    {
        String folder = Path.GetDirectoryName(path);
        if (!Directory.Exists(folder))
        {
            // Try to create the directory.
            DirectoryInfo di = Directory.CreateDirectory(folder);
        }
    }
    catch (IOException ioex)
    {
        Console.WriteLine(ioex.Message);
        return "";
    }
    return path;
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.