Jak získat velikost složky pomocí PowerShellu

My a naši partneři používáme soubory cookie k ukládání a/nebo přístupu k informacím na zařízení. My a naši partneři používáme data pro personalizované reklamy a obsah, měření reklam a obsahu, statistiky publika a vývoj produktů. Příkladem zpracovávaných dat může být jedinečný identifikátor uložený v cookie. Někteří z našich partnerů mohou zpracovávat vaše údaje v rámci svého oprávněného obchodního zájmu, aniž by žádali o souhlas. Chcete-li zobrazit účely, o které se domnívají, že mají oprávněný zájem, nebo vznést námitku proti tomuto zpracování údajů, použijte níže uvedený odkaz na seznam dodavatelů. Poskytnutý souhlas bude použit pouze pro zpracování údajů pocházejících z této webové stránky. Pokud budete chtít kdykoli změnit své nastavení nebo odvolat souhlas, odkaz k tomu je v našich zásadách ochrany osobních údajů přístupných z naší domovské stránky.

Použití Průzkumníka souborů je jedním ze způsobů, jak zjistit velikost složky, ale získání přesné velikosti může nějakou dobu trvat, zvláště pokud je

Kontrola velikosti položky nebo složky je na všech počítačích se systémem Windows docela snadná. Stačí kliknout pravým tlačítkem na adresář/položku, kliknout na Vlastnosti a máte velikost před sebou. Opravit?

Ne každý má takové štěstí jako ty. Pokud je velikost položky výrazně větší, řekněme větší než 100 GB, může to chvíli trvat Vlastnosti okno, aby se konečně naplnila velikost položky. Určitě musí existovat rychlejší způsob, jak zkontrolovat velikost složky.

Možná budete potřebovat velikost složky, abyste mohli odhadnout čas, který bude trvat její přesunutí nebo do uvolněte místo na pevném disku. Z jakéhokoli důvodu můžete okamžitě získat velikost složky/adresáře pomocí Windows PowerShell.

Tento článek ukazuje různé rutiny a jak používat jejich přepínače k ​​získání velikosti složky v počítači téměř okamžitě pomocí PowerShellu.

Máme samostatný návod, jak na to získat velikosti složek pomocí Průzkumníka souborů a aplikací třetích stran.

Obsah

  • Příkazy pro získání velikosti složky v PowerShellu
  • Získejte velikost složky pomocí PowerShellu
  • Získejte velikosti složek a podsložek pomocí prostředí PowerShell
  • Odnést

Příkazy pro získání velikosti složky v PowerShellu

Existují 2 primární příkazy, které můžete v PowerShellu použít k získání velikosti složky. Tyto příkazy lze použít společně s přepínači a parametry k dalšímu filtrování výsledků.

  • Příkaz: Get-ChildItem

    Přezdívka: gci

    Alias ​​je alternativní název, který můžete pro příkaz použít, takže nebudete muset pokaždé zadávat celý příkaz.

    Podrobnosti: Tento příkaz získává informace z jednoho nebo zadaných adresářů, včetně podadresářů. Nezobrazuje však prázdné adresáře.

  • Příkaz: Měřit-objekt

    Přezdívka: opatření

    Podrobnosti: Tento příkaz se používá k výpočtu různých vlastností zadaného adresáře, včetně jeho velikosti.

Toto jsou dvě primární rutiny, které dnes použijeme k získání velikosti složky pomocí PowerShellu.

Získejte velikost složky pomocí PowerShellu

Níže je uvedeno několik příkazů, které můžete použít k získání velikosti složky v počítači se systémem Windows. Všimněte si, že tato část uvádí pouze rutiny, které vám nastaví velikost zadané složky a položek uvnitř pouzea výsledky nebudou zahrnovat velikost položek v podadresářích.

Pokud chcete získat také velikost položek v podadresářích, podívejte se na další sekce níže.

Pokračujme nyní příkladem kontroly velikosti složky „D:\iTechtics\ISOs“, kterou máme na našem PC. Všimněte si, že musíte vyměnit [PathToFolder] s úplnou cestou ke složce/adresáři, pro kterou chcete získat velikost.

Spusťte následující příkaz získat velikost složky v bajtech:

Get-ChildItem [PathToFolder] | Measure-Object -Property Length -sum
Získejte velikost složky pomocí PowerShellu v Bytes
Získejte velikost složky pomocí PowerShellu v Bytes

Pole „Součet“ zobrazí velikost složky v bytech, jako na obrázku výše. Přibližná velikost položek ve složce „ISOs“ je 83 GB.

Poznámka: Velikost v bytech je třeba vydělit 1024, abyste získali velikost v kilobajtech, pak dalších 1024 pro megabajty a pak dalších 1024 pro gigabajty. Tento výpočet však nemusíte provádět, protože odpověď můžete získat přímo v MB nebo GB (o čem je řeč níže).

Chcete-li získat velikost složky v MB nebo GB, použijte příslušný příkaz níže:

  • Pro MB:

    (gci [PathToFolder] | změřit délku -s).součet / 1Mb
    Získejte velikost složky pomocí PowerShellu v MB
    Získejte velikost složky pomocí PowerShellu v MB
  • Pro GB:

    (gci [PathToFolder] | změřit délku -s).součet / 1Gb
    Získejte velikost složky pomocí PowerShellu v GB
    Získejte velikost složky pomocí PowerShellu v GB

Jak můžete vidět na obrázcích výše, velikost v MB a GB je na první pohled nejednoznačná, protože velikost je uvedena na mnoha desetinných místech. Výsledek příkazu můžete zaokrouhlit pomocí následující rutiny při nahrazení „X” s počtem desetinných míst, na která chcete svou odpověď zaokrouhlit.

Poznámka: Podle potřeby nahraďte „GB“ a „MB“.

"{0:NX} GB" -f ((gci [PathToFolder] | změřit délku -s).sum / 1Gb)
Získejte velikost složky zaokrouhlenou na desetinná místa pomocí PowerShellu
Získejte velikost složky zaokrouhlenou na desetinná místa pomocí PowerShellu

Kromě toho můžete také získat velikost všech položek ve složce, která má stejný typ souboru/příponu. K tomuto účelu lze použít tuto syntaxi příkazu, kde se zobrazí velikost souboru všech položek s příponou „.ISO“:

(gci [PathToFolder] *.iso | změřit délku -s).sum / 1Gb
Získejte velikost konkrétních položek typu souboru pomocí PowerShellu
Získejte velikost konkrétních položek typu souboru pomocí PowerShellu

Získejte velikosti složek a podsložek pomocí prostředí PowerShell

Až dosud vám všechny příkazy, které jsme probírali, ukazovaly kombinovanou velikost jednotlivých položek v určeném adresáři. Pokud má nadřazený adresář podadresáře, pak by velikost položek odpovídala ne se kumulují ve výsledcích.

Chcete-li získat velikost položek i uvnitř podsložek, musíte použít „-Rekurze" parametr. To se používá v domněnce s „-ErrorAction SilentlyContinue” k obejití chyb přístupu k adresáři, jako je „Oprávnění odepřeno“ atd.

Zde jsou dva příklady použití „-Rekurze” parametr pro získání velikosti nadřazeného a podadresáře:

(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)
Získejte velikosti složek a podsložek pomocí parametru Recurse v PowerShellu
Získejte velikosti složek a podsložek pomocí parametru -Recurse v PowerShellu

Všimněte si, že tato rutina bude také obsahovat libovolné velikosti skryté položky.

Kromě zjištění velikosti nadřazené a podřízené složky můžete také použít filtry. Můžete například zjistit velikost položek vytvořených v konkrétní den, konkrétní měsíc nebo konkrétní rok. Ty jsou definovány vložením počátečního a koncového data, které jsou příslušně definovány „-gt“ (větší než) a „-lt” (méně než) parametry.

Zde je syntaxe pro získání velikosti složky s podsložkami vytvořenými v dubnu 2022:

Poznámka: Formát dat je MM/DD/RR.

(gci -force [PathToFolder] –Recurse –ErrorAction TišePokračovat |? {$_.CreationTime -gt ‘4/1/22’ -AND $_.CreationTime -lt ‘4/30/22’}| měřit Délka -s).součet / 1Gb
Získejte velikosti složek a podsložek pomocí časového filtru pomocí PowerShellu
Získejte velikosti složek a podsložek pomocí časového filtru pomocí PowerShellu

Tyto filtry můžete také použít pomocí příkazů uvedených výše, abyste získali pouze velikosti složek nadřazených složek.

Nyní, aby to bylo složitější, předpokládejme, že musíte získat velikost každého podadresáře ve složce. To lze také provést pomocí PowerShellu. Výsledky budou samozřejmě zahrnovat velikost položek v podadresářích a budou prezentovány v úhledném tabulkovém formátu.

To znamená, že aby to fungovalo, musíte buď povolit spouštění skriptů v prostředí PowerShell nebo použijte PowerShell ISE ke spuštění následujícího skriptu:

$targetfolder='D:\' $dataColl = @() gci -force $targetfolder -ErrorAction TišePokračovat |? { $_ -is [io.directoryinfo] } | % { $len = 0. gci -recurse -force $_.fullname -ErrorAction TišePokračovat | % { $len += $_.length } $foldername = $_.fullname. $foldersize= '{0:N2}' -f ($len / 1Gb) $dataObject = Nový objekt PSObject. Add-Member -inputObject $dataObject -memberType PoznámkaVlastnost -název "název složky" -hodnota $název složky. Add-Member -inputObject $dataObject -memberType PoznámkaVlastnost -název “foldersizeGb” -hodnota $foldersize. $dataColl += $dataObject. } $dataColl | Out-GridView -Title „Velikost všech podadresářů na jednotce D“
Získejte všechny velikosti složek podadresářů pomocí skriptu PowerShell
Získejte všechny velikosti složek podadresářů pomocí skriptu PowerShell

Samozřejmě můžete změnit adresář, který chcete skenovat, stejně jako název výstupního souboru ve skriptu uvedeném výše.

Odnést

Bez ohledu na to, jak velký je soubor nebo složka, pomocí PowerShellu můžete okamžitě určit jejich velikost a plánovat dopředu.

Metody sdílené v tomto příspěvku vám umožňují získat velikost složky, složky i jejích podadresářů, velikost konkrétního typ souboru položky uvnitř složky nebo je dokonce filtrovat během určitého času. Vyberte si a zjistěte velikost složky (složek).

Tyto metody jsou zvláště užitečné, pokud chcete určit velikost databáze před migrací, zálohováním webu nebo pokud chcete jen uvolnit místo na pevném disku.

Poslední příspěvek na blogu

Stáhnout PowerShell 7.3.9 a 7.2.16 LTS (offline instalační programy)
October 27, 2023

Windows PowerShell 7.3.9 a PowerShell 7.2.16 LTS jsou nyní k dispozici ke stažení. Tato vydání zahrnují drobná vylepšení sestavení a balení. Nejnov...

Microsoft vydává PowerShell 7.4.0 LTS, aktualizuje PowerShell 7.3.10 a 7.2.17 (offline instalační programy)
November 17, 2023

My a naši partneři používáme soubory cookie k ukládání a/nebo přístupu k informacím na zařízení. My a naši partneři používáme data pro personalizov...