데이터 마이그레이션 작업을 하다보면,
결과 확인을 위해 데이터의 개수를 확인한다.
윈도우에서는 파일 개수를 확인할 때,

와 같이, 폴더의 속성 정보에서 확인한다.
하지만.. 파일의 개수가 기하급수적으로 커지는 경우에는 윈도우 탐색기로 크기와 개수를 산정하는데 많은 시간이 소요된다.
그런 경우에는 아래 방법들을 적용해보도록 한다.
1. Robocopy 활용
장점: 초고속 처리, 시스템 리소스 최소화
[powershell]
$dir = "[폴더 경로]"
robocopy /L /NFL /NDL $dir "[목적지 경로]" /E /BYTES
- /L: 실제 복사 없이 리스트만 출력
- /NFL: 파일명 생략
- NDL: 디렉터리명 생략
- 실행 후 출력된 Total 행의 Copied 값 확인
- [목적지 경로] 는 작업 과정을 위해 임시로 만들어줘야함..
2. Windows 명령어(dir)
장점: 별도 설치 없이 즉시 사용 가능
[text]
dir "[폴더 경로]" /a:-d /s
- 하단 결과에서 File(s) 값 확인
- 숨김 파일 포함 시 /a 옵션 제거
3. PowerShell .NET 최적화
장점: PowerShell 환경에서 간편 사용
[powershell]
$fileCount = ([System.IO.Directory]::EnumerateFiles("D:\source\repos", "*", "AllDirectories") | Measure-Object).Count
Write-Host "총 파일 개수: $fileCount"
- EnumerateFiles 는 대량의 경우 효율적임 (수 천만 ~ 수 억)
- GetFiles 가 일반적으로 사용됨
- 접근 권한 문제가 발생하면 예외가 생길 수 있음
4. 정리
- 성능 중시: Robocopy 방식 or .Net 기반
- 간편 확인: dir 명령어
'OS > Windows' 카테고리의 다른 글
| Windows Service? (0) | 2025.01.28 |
|---|