2013-07-16 7 views
11

Il mio obiettivo è capire quanto spazio occupano tutte le immagini sulle unità di rete.Aggiunta delle dimensioni del file dell'elenco Get-ChildItem

Quindi il mio comando per recuperare un elenco di tutte le immagini è questo:

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

Poi vorrei recuperare solo la dimensione del file (Length).

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

Ora questo uscite:

          Length 
             ------ 
             85554 
             54841 
             87129 
             843314 

Non so il motivo per cui è allineato a destra, ma voglio afferrare ogni lunghezza e aggiungere tutti insieme. Mi sono perso e ho provato ogni cosa che conosco (che non è molto da quando sono nuovo a PS), ho provato a cercare su Google ma non sono riuscito a trovare risultati rilevanti.

Qualsiasi aiuto o metodo alternativo è apprezzato!

risposta

20

Utilizzare il cmdlet Measure-Object:

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

Per ottenere la dimensione in GB dividere il valore per 1GB:

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

Grazie !! Funziona meravigliosamente, ora c'è un modo per convertirlo in GB? – user2517266

+0

Nevermind I got it with $ SizeInGigs = $ totalSize/1GB – user2517266

2

si potrebbe fare questo come uno di linea con qualcosa di simile.

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 
Problemi correlati