오늘은 간단하게 주어진 경로가 폴더인지 파일인지 구분하는 방법을 소개해 드리겠습니다.
길게 설명할 것 없이 간단하게 코드나갑니다.
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 해시 체크파일 만들기
[C#] .net 프로그램에서 MD5 해시 체크파일 만들기
프로그래밍을 이용하여 파일을 생성하거나 이동시킬때 md5 와 같은 무결성 검증을 위한 해시체크 파일을 생성해야 할때가 있습니다. 물론 간단한 유틸리티를 내려받아 윈도우 쉘 명령어로 만드�
diy-dev-design.tistory.com
2020/01/03 - [DEV/c#] - [C#] C# APP 에서 엑셀 연동해보기
[C#] C# APP 에서 엑셀 연동해보기
엑셀에서 VBA 로 코드를 짜다 보면 막상 특정 엑셀 파일에만 VBA 가 적용이 가능하기 때문에 막상 다른 엑셀 파일에서 동일한 동작을 하려면 또 코드를 복사해 넣고 실행을 해야 하는 경우가 있습�
diy-dev-design.tistory.com
2019/06/21 - [DEV/c#] - [C#] C# .NET 프로젝트에서 ImageMagick 이용하기
[C#] C# .NET 프로젝트에서 ImageMagick 이용하기
이미지 관련된 툴을 개발함에 있어 다양한 이미지 포멧을 만들고 변경하기 위한 코어를 개발하는 것은 말도 안되게 힘든 작업입니다. 저는 디자이너라는 타이틀을 가지고 있기 때문에 포토샵이
diy-dev-design.tistory.com
2019/06/21 - [DEV/c#] - [C#] 마우스 매크로를 위한 마우스 자동 클릭 기능 만들기
[C#] 마우스 매크로를 위한 마우스 자동 클릭 기능 만들기
사용자의 마우스 컨트롤 없이 자동으로 지정된 위치에서 마우스를 클릭하게 만들어 주는 기능 입니다. 먼저 아래와 같이 DLL 을 불러들여 주어야 하겠습니다. class 정의 바로 아래부분에 넣어 주�
diy-dev-design.tistory.com
2019/06/21 - [DEV/c#] - [C#] Delay 기능
[C#] Delay 기능
c# .net 환경 개발시 아래의 함수를 이용하여 Delay 를 구현할 수 있습니다. private static DateTime Delay(int MS) { DateTime ThisMoment = DateTime.Now; TimeSpan duration = new TimeSpan(0, 0, 0, 0, MS);..
diy-dev-design.tistory.com
'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 |