Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

C#에서 경로 내의 모든 디렉토리와 하위 디렉토리를 얻는 방법은 무엇입니까?

<시간/>

디렉토리를 가져오기 위해 C#은 Directory.GetDirectories 메소드를 제공합니다. Directory.GetDirectories 메서드는 지정된 디렉터리의 지정된 검색 패턴과 일치하는 하위 디렉터리의 이름(경로 포함)을 반환하고 선택적으로 하위 디렉터리를 검색합니다.

아래 예에서 *는 해당 위치의 0개 이상의 문자와 일치합니다. SearchOption TopDirectoryOnly . 최상위 디렉토리만 가져오고 SearchOption AllDirectories . 모든 최상위 디렉토리와 하위 디렉토리를 가져옵니다.

참고: rootPath는 시스템 rootPath이므로 테스트 폴더를 만들고 그에 따라 rootPath를 사용하십시오.

예시 1

static void Main (string[] args) {
   string rootPath = @"C:\Users\Koushik\Desktop\TestFolder";
   string[] dirs = Directory.GetDirectories(rootPath, "*", SearchOption.TopDirectoryOnly);

   foreach (string dir in dirs) {
      Console.WriteLine (dir);
   }
   Console.ReadLine ();
}

출력

C:\Users\Koushik\Desktop\TestFolder\TestFolderMain
C:\Users\Koushik\Desktop\TestFolder\TestFolderMain 1
C:\Users\Koushik\Desktop\TestFolder\TestFolderMain 2

예시 2

static void Main (string[] args) {
   string rootPath = @"C:\Users\Koushik\Desktop\TestFolder";
   string[] dirs = Directory.GetDirectories(rootPath, "*", SearchOption.AllDirectories);

   foreach (string dir in dirs) {
      Console.WriteLine (dir);
   }
   Console.ReadLine ();
}

출력

C:\Users\Koushik\Desktop\TestFolder\TestFolderMain
C:\Users\Koushik\Desktop\TestFolder\TestFolderMain 1
C:\Users\Koushik\Desktop\TestFolder\TestFolderMain 2
C:\Users\Koushik\Desktop\TestFolder\TestFolderMain 2\TestFolderMainSubDirectory