반응형
오늘은 간단하게 주어진 경로가 폴더인지 파일인지 구분하는 방법을 소개해 드리겠습니다.
길게 설명할 것 없이 간단하게 코드나갑니다.
FileAttributes chkAtt = File.GetAttributes(_path);
if ((chkAtt & FileAttributes.Directory) == FileAttributes.Directory)
{
// 디렉토리일 경우
}
else
{
// 파일 일 경우
}
간단하죠 ?
이렇게 하면 _path 로 주어진 경로가 디렉토리인지 파일인지 구분할 수 있는데요. 폴더를 계속해서 탐색하는 기능을 만들때 유용하게 사용할 수 있답니다.
예를 들면 아래와 같은 방법으로 하위폴더의 모든 파일에 대한 액션을 할 수 있는 재귀 함수를 만들수 있는 것입니다.
private static void chkDir_recursive (string _path)
{
FileAttributes chkatt = File.GetAttributes(_path);
if ((chkatt & FileAttributes.Directory) == FileAttributes.Directory)
{
// is a Directories
string[] tmpPath = Directory.GetDirectories(_path, "*");
foreach (string s in tmpPath)
{
chkDir_recursive(_path); // 폴더를 만나면 하위로 계속 탐색을 진행
}
string[] tmpFiles = Directory.GetFiles(_path, "*.*");
foreach (string s in tmpFiles)
{
chkDir_recursive(_path); // 파일을 만나도 동일한 함수로 실행 가능함
}
}
else
{
// 파일을 만나게 되면 실제 해야할 액션을 코딩한다
}
}
간단하죠?
이상으로 주어진 경로가 폴더인지 파일인지 구분하는 방법을 소개해 드렸습니다~
2020/05/29 - [DEV/c#] - [C#] .net 프로그램에서 MD5 해시 체크파일 만들기
2020/01/03 - [DEV/c#] - [C#] C# APP 에서 엑셀 연동해보기
2019/06/21 - [DEV/c#] - [C#] C# .NET 프로젝트에서 ImageMagick 이용하기
2019/06/21 - [DEV/c#] - [C#] 마우스 매크로를 위한 마우스 자동 클릭 기능 만들기
2019/06/21 - [DEV/c#] - [C#] Delay 기능
반응형
'DEV > c#' 카테고리의 다른 글
C# .net으로 photoshop 연동하기 (0) | 2020.06.03 |
---|---|
[C#] .net 프로그램에서 MD5 해시 체크파일 만들기 (0) | 2020.05.29 |
ImageMagick 을 이용하여 이미지 컨트롤 해보기 (0) | 2020.04.03 |
재택근무 필수 유틸 "자리안비움" - 윈도우 꺼짐 방지 (84) | 2020.03.09 |
Excel Automate, 엑셀 자동화 프로그램 (54) | 2020.01.08 |