PowerShell을 이용하여 폴더 용량과 하위폴더 내용 및 용량 확인하기

참고: http://powershell.com/cs/blogs/tobias/archive/2008/11/25/cleaning-hard-drives-and-finding-folders-total-size.aspx
1) 특정한 폴더 및 그 하위 폴더 내용을 모두 확인하기
dir $home -recurse
dir D:
-recurse
dir D:\100NIKON
-recurse

2)특정한 폴더 및 그 하위 폴더에 존재하는 파일 개수 및 총 용량 확인하기
dir $home -recurse | Measure-Object length -sum
dir D: -recurse | Measure-Object length
-sum
dir D:\100NIKON -recurse | Measure-Object length
-sum

** 만약 총 용량을 MB 및 GB 단위로 환산하여 보려면 sum 값을 1mb, 1gb로 나누면 된다
** (dir d:\100nikon -recurse | Measure-Object length -sum).Sum/1mb 해도 결과과 동일하다
** 소수점 2자리까지 확인하려면
'{0:0.00}' -f ((dir d:\100nikon -recurse | Measure-Object length -sum).Sum/1MB)

** D:\ 전체에 대하여 소수점 1자리까지를 GB 단위로 보고자 하면
'{0:0.0}' -f ((dir d: -recurse | Measure-Object length -sum).Sum/1GB)
3) 특정한 폴더에 대한 하위 폴더만 확인하려면
dir $home | Where-Object { $_.PSisContainer }
dir D: | Where-Object { $_.PSisContainer }
dir D:\100nikon | Where-Object { $_.PSisContainer }

4)하위 폴더에 속한 파일 개수와 각 폴더의 크기를 확인하기 위해
dir $home | Where-Object { $_.PSisContainer } |
ForEach-Object { $result = '' | Select-Object Path, Count, Size;
$result.path = $_.FullName; $temp = Dir $_.FullName -recurse |
Measure-Object length -sum; $result.count = $temp.Count;
$result.Size = $temp.Sum; $result }

** 크기를 MB로 보기 위해
dir $home | Where-Object { $_.PSisContainer } |
ForEach-Object { Write-Progress 'Examining Folder' ($_.FullName); $_ } |
ForEach-Object { $result = '' | Select-Object Path, Count, SizeMB;
$result.path = $_.FullName;
$temp = Dir $_.FullName -recurse -ea SilentlyContinue |
Measure-Object length -sum -ea SilentlyContinue ;
$result.count = $temp.Count;
$result.SizeMB = [Int]($temp.Sum/1MB); $result }

** 소수점 2자리까지 보기 위해
dir $home | Where-Object { $_.PSisContainer } |
ForEach-Object { Write-Progress 'Examining Folder' ($_.FullName); $_ } |
ForEach-Object { $result = '' | Select-Object Path, Count, Size;
$result.path = $_.FullName;
$temp = Dir $_.FullName -recurse -ea SilentlyContinue |
Measure-Object length -sum -ea SilentlyContinue ;
$result.count = $temp.Count;
$result.Size = '{0:0.00}' -f ($temp.Sum/1MB); $result }

by Peacemaker | 2009/10/30 13:04 | PowerShell따라하기 | 트랙백 | 덧글(0)

트랙백 주소 : http://BlogLee.egloos.com/tb/5109375
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글

◀ 이전 페이지          다음 페이지 ▶