2012-04-23 3 views
0

나는 (사람을 위해) 대답하기에 꽤 간단한 질문이라고 생각합니다. 경로가 주어지면 C : \ A \ B \ C \ D \와 같이 시스템에 경로를 다시 만들 수있는 가장 효율적이고 간결하며 우아한 방법은 무엇입니까? (C : \ A \ B는 물론), C#에서?C에서 파일 시스템 경로 분기 만들기

내가 생각할 수있는 유일한 점은이 모든 잠재적 인 피트 - 폴스가 수반되는 좀 더 지저분한 작은 경로 파서를 포함한다는 것입니다. 나는 여기 많은 사람들이 전에이 작은 문제에 직면했을 것이며 내가 얻을 수있는 것보다 더 나은 해결책을 가지고있을 것이라고 확신한다.

여러분의 생각에 여러분, 숙녀 여러분, 제발요?

답변

3

System.IO.Directory.CreateDirectory(@"C:\A\B\C\D\")은 정상적으로 처리됩니다.

+0

뜨아! 나는 그런 기분이 들었다. 정보 주셔서 감사합니다. – Robinson

+0

당신은 환영합니다 :-) 분명히 여기에 오류 처리가 없다는 것은 말할 필요도 없습니다. –

+0

물론입니다. 그 주위에 예외 처리기가 있습니다. – Robinson

1
 Directory.CreateDirectory(@"C:\A\B\C\D\"); 

는 이미 존재하지 않는 경우 경로에있는 모든 디렉토리를 작성, 심지어 (이 경우, D) 당신에게 자식 디렉토리의의 DirectoryInfo 개체를 반환합니다.

1

MSDN과 '디렉토리 .exists'- 방법을 살펴볼 수 있습니다.

경우 감지 할 수있는이 방법 :

1
string folderPath = "C:\A\B\C\D" 
if (!System.IO.Directory.Exists(folderPath)) 
       System.IO.Directory.CreateDirectory(folderPath); 
2

MSDN example

// Specify the directories you want to manipulate. 
    DirectoryInfo di = new DirectoryInfo(@"c:\MyDir"); 

    try 
    { 
     // Determine whether the directory exists. 
     if (di.Exists) 
     { 
      // Indicate that it already exists. 
      Console.WriteLine("That path exists already."); 
      return; 
     } 

     // Try to create the directory. 
     di.Create(); 
     Console.WriteLine("The directory was created successfully."); 
    } 
    catch (Exception e) 
    { 
     Console.WriteLine("The process failed: {0}", e.ToString()); 
    } 
    finally {}