Jak uzyskać rozmiar folderu za pomocą programu PowerShell w systemie Windows 11/10

Jak uzyskać rozmiar folderu za pomocą programu PowerShell w systemie Windows 11/10

Zwykle na komputerze z systemem Windows rozmiar elementu lub folderu można sprawdzić, klikając element lub folder prawym przyciskiem myszy, a następnie wybierając opcję Właściwości z menu kontekstowego. W tym poście pokażemy, jak sprawdzić lub uzyskać rozmiar folderu za pomocą programu PowerShell w systemie Windows 11/10.

Przypadek użycia, w którym możesz chcieć użyć programu PowerShell zamiast konwencjonalnego sposobu uzyskiwania folderu, to sytuacja, w której rozmiar elementu lub folderu jest znacznie większy — na przykład większy niż 100 GB. W takim przypadku użycie konwencjonalnego sposobu może trochę potrwać, zanim okno Właściwości folderu w końcu zapełni rozmiar elementu — co więcej, to, co jest pokazane, może nie być rzeczywistym rozmiarem folderu.

Jak uzyskać rozmiar folderu za pomocą programu PowerShell w systemie Windows 11/10

Z tego czy innego powodu możesz potrzebować rozmiaru folderu — na przykład, aby oszacować czas lub czas potrzebny na przeniesienie folderu (do innej lokalizacji na dysku lokalnym, dysku zewnętrznym lub w chmurze) lub, jeśli znacznie duży folder, aby po prostu go usunąć, aby zwolnić miejsce na dysku twardym — możesz natychmiast uzyskać rozmiar folderu/katalogu za pomocą PowerShell. Omówimy ten temat w następujących podtytułach.

  1. Polecenia PowerShell, aby uzyskać rozmiar folderu
  2. Uzyskaj rozmiar folderu w bajtach, MB i GB
  3. Uzyskaj rozmiar folderu w systemie dziesiętnym
  4. Uzyskaj rozmiar określonych elementów typu pliku
  5. Uzyskaj rozmiary folderów i podfolderów
  6. Uzyskaj rozmiary folderów i podfolderów za pomocą filtra czasu
  7. Uzyskaj wszystkie rozmiary folderów podkatalogów za pomocą skryptu programu PowerShell

1] Polecenia PowerShell, aby uzyskać rozmiar folderu

Poniżej przedstawiono 2 podstawowe polecenia cmdlet programu PowerShell, których można używać z przełącznikami i parametrami w celu filtrowania wyników zgodnie z wymaganiami w celu uzyskania rozmiaru folderu.

  • Get-ChildItem (alias: GCI) — to polecenie pobiera informacje z jednego lub określonych katalogów, w tym z podkatalogów — puste katalogi nie są wyświetlane ani pokazywane.
  • Measure-Object (alias: Measure) — to polecenie oblicza różne właściwości określonego katalogu, w tym jego rozmiar.

Alias ​​to alternatywna nazwa polecenia, dzięki czemu nie trzeba za każdym razem wpisywać całego polecenia.

2] Uzyskaj rozmiar folderu w bajtach, MB i GB

Rozmiar folderu w bajtach :

Uzyskaj rozmiar folderu w bajtach

Get-ChildItem PathToFolder | Measure-Object -Property Length -sum

Rozmiar folderu w MB :

Uzyskaj rozmiar folderu w MB

(gci PathToFolder | measure Length -s).sum / 1Mb

Rozmiar folderu w GB :

Uzyskaj rozmiar folderu w GB

(gci PathToFolder | measure Length -s).sum / 1Gb

Pole „Suma” wyświetla rozmiar folderu w bajtach, MB i GB, zależnie od przypadku.

3] Uzyskaj rozmiar folderu w systemie dziesiętnym

Uzyskaj rozmiar folderu w systemie dziesiętnym

Dane wyjściowe dotyczące rozmiaru folderu w MB i GB są niejednoznaczne do zrozumienia na pierwszy rzut oka, ponieważ rozmiar jest w wielu miejscach po przecinku. Możesz więc uruchomić poniższe polecenie, aby zaokrąglić wynik w postaci dziesiętnej. Zastąp „ X ” liczbą miejsc dziesiętnych, do których chcesz zaokrąglić wynik, i w razie potrzeby podaj GB lub MB.

"{0:NX} GB"-f ((gci PathToFolder | measure Length -s).sum / 1Gb)

4] Uzyskaj rozmiar określonych elementów typu pliku

Uzyskaj rozmiar określonych elementów typu pliku

Jeśli chcesz uzyskać rozmiar wszystkich elementów w folderze o tym samym typie pliku / rozszerzeniu, uruchom poniższe polecenie. Odpowiednio zastąp symbol zastępczy FileType/Extension.

(gci PathToFolder *.FileType/Extension | measure Length -s).sum / 1Gb

5] Uzyskaj rozmiary folderów i podfolderów

Uzyskaj rozmiary folderów i podfolderów

Aby uzyskać rozmiary folderów i podfolderów (w tym elementów w środku), musisz użyć parametru -Recurseużywanego w domysłach z -ErrorAction SilentlyContinueparametrem, aby ominąć błędy dostępu do katalogu, takie jak Odmowa uprawnień itp.

Aby uzyskać rozmiar rodzica, a także podkatalogów, możesz uruchomić jedno z poniższych poleceń.

(gci PathToFolder –Recurse -ErrorAction SilentlyContinue| measure Length -s).sum / 1Gb "{0:NX} GB"-f ((gci –force PathToFolder –Recurse -ErrorAction SilentlyContinue| measure Length -s).sum / 1Gb)

To polecenie cmdlet będzie również zawierać rozmiary wszelkich ukrytych elementów.

6] Uzyskaj rozmiary folderów i podfolderów z filtrem czasu

Uzyskaj rozmiary folderów i podfolderów z filtrem czasu

Możesz uzyskać rozmiar folderów nadrzędnych i podrzędnych, a także zastosować filtry, aby znaleźć rozmiar elementów utworzonych w określonym dniu, określonym miesiącu lub określonym roku. Możesz to zdefiniować, określając datę początkową i końcową, które są odpowiednio zdefiniowane przez parametry -gt(większy niż) i -lt(mniejszy niż). Format dat to MM/DD/RR.

Aby uzyskać rozmiar folderu z podfolderami utworzonymi w określonym okresie, uruchom poniższe polecenie. Odpowiednio zastąp symbol zastępczy MM/DD/RR.

(gci -force PathToFolder –Recurse -ErrorAction SilentlyContinue |? {$_.CreationTime -gt ‘MM/DD/YY’ -AND $_.CreationTime -lt ‘MM/DD/YY’}| measure Length -s).sum / 1Gb

Możesz także zastosować te filtry za pomocą poleceń podanych wcześniej, aby uzyskać rozmiary folderów tylko dla folderów nadrzędnych.

7] Uzyskaj wszystkie rozmiary folderów podkatalogów za pomocą skryptu PowerShell

Aby jeszcze bardziej skomplikować sprawę, załóżmy, że musisz uzyskać rozmiar każdego podkatalogu w folderze. Można to również osiągnąć za pomocą PowerShell. Oczywiście, aby uzyskać wszystkie rozmiary folderów podkatalogów, w tym rozmiar elementów w podkatalogach i przedstawić je w schludnym, tabelarycznym formacie, możesz utworzyć i uruchomić skrypt PowerShell, korzystając z poniższego kodu.

$targetfolder='DriveLetter:\'
$dataColl = @()
gci -force $targetfolder -ErrorAction SilentlyContinue |? { $_ -is [io.directoryinfo] } | % {
$len = 0
gci -recurse -force $_.fullname -ErrorAction SilentlyContinue | % { $len += $_.length }
$foldername = $_.fullname
$foldersize= '{0:N2}' -f ($len / 1Gb)
$dataObject = New-Object PSObject
Add-Member -inputObject $dataObject -memberType NoteProperty -name “foldername” -value $foldername
Add-Member -inputObject $dataObject -memberType NoteProperty -name “foldersizeGb” -value $foldersize
$dataColl += $dataObject
}
$dataColl | Out-GridView -Title “Size of all subdirectories in DriveLetter drive”

Zastąp odpowiednio symbol zastępczy DriveLetter w powyższym kodzie i upewnij się, że włączone jest wykonywanie skryptów PowerShell.

Otóż ​​to!

Czy istnieje sposób, aby zobaczyć rozmiar folderu w systemie Windows?

Konwencjonalnym sposobem sprawdzenia rozmiaru folderu jest otwarcie Eksploratora plików i kliknięcie prawym przyciskiem myszy pliku, folderu lub dysku, którego rozmiar chcesz zobaczyć. Z wyświetlonego menu wybierz Właściwości, a zobaczysz całkowity rozmiar pliku/dysku. Niekonwencjonalnym sposobem wykonania tego samego zadania jest użycie PowerShell, jak pokazaliśmy w tym poście powyżej.

Co to jest polecenie DOS, aby wyświetlić listę folderów i rozmiarów?

Polecenie dirwyświetla informacje o plikach i katalogach oraz o dostępnej przestrzeni dyskowej. Domyślnie polecenie wyświetla nazwę, rozmiar i czas ostatniej modyfikacji każdego pliku w bieżącym katalogu.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *