[C#/COMMON] DirectoryInfo 클래스 : EnumerateDirectories 메소드를 사용해 디렉토리 크기 구하기
C#/Common 2018. 9. 21. 00:36728x90
반응형
728x170
▶ DirectoryInfo 클래스 : EnumerateDirectories 메소드를 사용해 디렉토리 크기 구하기 예제
using System;
long directorySize = GetDirectorySize("d:\\ARCA");
Console.WriteLine(directorySize);
728x90
▶ DirectoryInfo 클래스 : EnumerateDirectories 메소드를 사용해 디렉토리 크기 구하기
using System.Collections.Generic;
using System.IO;
using System.Linq;
#region 디렉토리 크기 구하기 - GetDirectorySize(sourceDirectoryPath)
/// <summary>
/// 디렉토리 크기 구하기
/// </summary>
/// <param name="sourceDirectoryPath">소스 디렉토리 경로</param>
/// <returns>디렉토리 크기</returns>
public long GetDirectorySize(string sourceDirectoryPath)
{
IEnumerable<string> filePathEnumerable = Directory.EnumerateFiles(sourceDirectoryPath);
long fileSize = (from filePath in filePathEnumerable let fileInfo = new FileInfo(filePath) select fileInfo.Length).Sum();
IEnumerable<string> subsidaryDirectoryPathEnumerable = Directory.EnumerateDirectories(sourceDirectoryPath);
long subsidaryDirectorySize = (from subsidaryDirectoryPath in subsidaryDirectoryPathEnumerable select GetDirectorySize(subsidaryDirectoryPath)).Sum();
return fileSize + subsidaryDirectorySize;
}
#endregion
728x90
반응형
그리드형(광고전용)
'C# > Common' 카테고리의 다른 글
[C#/COMMON] 윈도우즈 서비스에서 윈도우즈 서비스 실행하기 (인자 전달 포함) (0) | 2018.11.02 |
---|---|
[C#/COMMON] 도스 명령어 실행하기 (0) | 2018.10.22 |
[C#/COMMON] WIN32 API를 사용해 디렉토리 크기 구하기 (0) | 2018.10.02 |
[C#/COMMON] DirectoryInfo 클래스 : GetDirectories 메소드를 사용해 디렉토리 크기 구하기 (0) | 2018.10.01 |
[C#/COMMON] WebClient 클래스 : HTTPS 파일 다운로드 하기 (0) | 2018.09.22 |
[C#/COMMON] 파일 경로 축약하기 (0) | 2018.09.17 |
[C#/COMMON] 파일 크기 문자열 구하기 (0) | 2018.09.17 |
[C#/COMMON] NTFS MFT를 사용해 디렉토리 크기 구하기 (0) | 2018.09.16 |
[C#/COMMON] DirectoryInfo 클래스 : EnumerateDirectories 메소드를 사용해 디렉토리 크기 구하기 (0) | 2018.09.13 |
[C#/COMMON] DirectoryInfo 클래스 : EnumerateFiles 메소드를 사용해 디렉토리 크기 구하기 (0) | 2018.09.13 |
댓글을 달아 주세요