Sprawdzenie rozmiaru katalogu pod Windows z użyciem Eksploratora plików to trywialne zadanie. Czasem trzeba to jednak zrobić za pośrednictwem sesji zdalnej PowerShella. Dobrze, aby wynik sprawdzenia został wyświetlony w łatwej do odczytania jednostce, a nie milionach bajtów.
Gdy do poniższego polecenia zostanie przekazana ścieżka do katalogu obliczony będzie jego rozmiar, a w przypadku samej ścieżki dysku: objętość zgromadzonych na nim danych. Niezależnie od przypadku wynik będzie podany w megabajtach.
"{0:N2}" -f ((Get-ChildItem -Path sciezka_do\dysku_lub_katalogu -Recurse | Measure-Object -Property length -Sum).Sum /1MB) + " MB"
Przy okazji warto wyjaśnić jego poszczególne składowe:
"{0:N2}" -f
odpowiada za prezentację wyniku z dokładnością do dwóch miejsc po przecinku,Get-ChildItem -Path sciezka_do\dysku_lub_katalogu -Recurse
pobiera rekursywnie, czyli z podkatalogami, wszystkie elementy pod wskazaną ścieżką,|
przekaże wynik poprzedniego polecenia do następnego,Measure-Object -Property length -Sum
zsumuje wielkości elementów zwróconych przez Get-ChildItem,.Sum /1MB) + " MB"
zamieni wynik na megabajty i dopisze odpowiednią jednostkę na samym końcu.
Samo działanie polecenia przedstawia się następująco.
PS D:\> "{0:N2}" -f ((Get-ChildItem -Path D: -Recurse | Measure-Object -Property length -Sum).Sum /1MB) + " MB"
1 023 048,38 MB
PS D:\>
Skomentuj