2013-07-16 64 views
11

我的目標是確定我的網絡驅動器上的所有映像佔用了多少空間。添加Get-ChildItem列表的文件大小

所以我的命令來獲取所有圖像的列表是這樣的:

Get-ChildItem -recurse -include *jpg,*bmp,*png \\server01\folder 

然後我想只檢索文件大小(Length)。

Get-ChildItem -recurse -include *jpg,*bmp,*png \\server01\folder | Select-Object -property Length 

現在這種輸出:

          Length 
             ------ 
             85554 
             54841 
             87129 
             843314 

我不知道爲什麼它是右對齊的,但我想抓住每一個長度,並添加它們放在一起。我迷路了,並且嘗試了我所知道的每一件事(這對我來說並不是什麼新鮮事,因爲我是PS新手),試圖搜索谷歌,但找不到任何相關結果。

讚賞任何幫助或替代方法!

回答

20

使用Measure-Object的cmdlet:

$files = Get-ChildItem -Recurse -Include *jpg,*bmp,*png \\server01\folder 
$totalSize = ($files | Measure-Object -Sum Length).Sum 

要獲得GB大小由1GB劃分值:

$totalSize = ($files | Measure-Object -Sum Length).Sum/1GB 
+0

謝謝!奇妙地工作,現在有辦法將它轉換爲GB嗎? – user2517266

+0

沒關係我用$ SizeInGigs = $ totalSize/1GB – user2517266

2

你可以做到這一點作爲一個襯墊像這樣的東西。

Get-Childitem -path "C:\Program Files\Internet Explorer" | Select-Object 
Name, @{Name="KBytes";Expression={ "{0:N0}" -f ($_.Length/1KB) }} 

Name   KBytes 
----   ------ 
en-US   0 
images  0 
SIGNUP  0 
ExtExport.exe 52 
hmmapi.dll 53 
iediagcmd.exe 500 
ieinstal.exe 490 
ielowutil.exe 219 
IEShims.dll 398 
iexplore.exe 805 
sqmapi.dll 49