본문 바로가기
개발언어/C#

[C#] 폴더의 파일 찾기

by 창용이랑 2022. 11. 16.
728x90

다음 명령어를 사용하면 폴더내의 전체 경로를 포함한 파일 이름이 string에 저장된다.

string[] filepath = Directory.GetFiles(@"D:\_Temp\", "*.*", SearchOption.TopDirectoryOnly);

 

하위 폴더의 파일까지 찾을 때는 다음 명령어를 사용한다.

string[] filepath = Directory.GetFiles(@"D:\_Temp\", "*.*", SearchOption.AllDirectories);

 

폴더내의 하위 폴더의 전체 경로는 다음 명령어를 사용하여 구한다.

string[] dirs = Directory.GetDirectories(@"D:\_Temp\");

 

전체 경로를 포함한 문자열에서 파일 이름만 얻기 위해서는 다음 명령어를 사용한다.

str = Path.GetFileName(filepath[0])

 

 

샘플예제 : 특정확장자만 하위 폴더의 파일까지 찾아서 출력

FolderBrowserDialog fbd = new FolderBrowserDialog();

if (fbd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
    String strPath = fbd.SelectedPath;
	string supportedExtensions = "*.hwp, *.doc, *.docx, *.xls, *.xlsx, *.ppt, *.pptx, *.pdf";

    foreach (string fileFullName in Directory.GetFiles(strPath, "*.*", SearchOption.AllDirectories).Where(s => supportedExtensions.Contains(Path.GetExtension(s).ToLower())))
    {
        Console.WriteLine(fileFullName);  
    }
}