Katere mape zasedajo vaš disk? Ugotovite s tem vodnikom za Windows.

Če želite raziskati, katere mape zasedajo vaš prostor za shranjevanje, lahko preverite velikost mape, da ugotovite, kaj zaseda vaš pogon. Preverjanje velikosti mape je prav tako koristno, če morate premakniti veliko mapo na pogon USB ali v shrambo v oblaku. Enostaven način za to v sistemu Windows je uporaba File Explorerja in odpiranje pogovornega okna Lastnosti mape.

Raziskovalec datotek pa lahko počasi določi velikost velike mape. In ni idealno, če želite upravljati datoteke in mape v več računalnikih v organizaciji. Če želite to odpraviti, lahko uporabite PowerShell za hiter izračun velikosti map v sistemu Windows.

Kako izračunati velikost mape z uporabo PowerShell v sistemu Windows

Če želite izračunati velikost mape, boste morali uporabiti dva cmdleta PowerShell, Get-ChildItem in Measure-Object, ki jima sledita lastnost Length in parameter Sum.

Cmdlet Get-ChildItem vam omogoča pridobivanje informacij iz določenega imenika in njegovih podimenikov. Cmdlet Measure-Object in povezane lastnosti in parametri izračunajo vsoto lastnosti dolžine za elemente, ki jih vrne cmdlet Get-ChildItem (alias 'cgi').

instagram viewer

Če ste šele začeli uporabljati PowerShell, boste morda želeli prebrati naš razlagalnik bistvene ukaze cmdlet PowerShell razumeti osnove lupine PowerShell.

Zdaj, ko ste seznanjeni z ukazi PowerShell, je tukaj opisano, kako jih uporabiti za pridobitev katere koli velikosti mape.

  1. Pritisnite Zmaga ključ in tip powershell.
  2. Nato z desno miškino tipko kliknite Windows PowerShell in izberite Zaženi kot skrbnik. Kliknite ja če vas pozove Nadzor uporabniškega računa.
  3. V okno PowerShell vnesite naslednji ukaz:
     Get-ChildItem FolderPath | Measure-Object -Property Length -sum
  4. V zgornjem ukazu zamenjajte FolderPath s potjo imenika, kjer je shranjena vaša mapa. Če želite na primer izračunati velikost mape Prenos, ki se nahaja v E:\ pogon, bo celoten ukaz videti takole:
    Get-ChildItem E:\Download | Measure-Object -Property Length -sum
  5. Povratek bo pokazal število elementov v mapi in njihovo velikost v bajtih. Skupno vsoto boste morali deliti z 1024 da dobiš velikost KB (Kilobajti). Razdelite na 1024 znova, da dobite velikost MB (Megabajti) in tako naprej.

Lahko pa uporabite lastnost .sum, da pridobite skupno velikost in jo delite z 1 milijonom ali milijardo, da jo pretvorite v megabajte ali gigabajte.

Na primer, če želite vedeti vrednost v gigabajtih (MB), vnesite naslednji ukaz in pritisnite Vnesite:

(gci E:\Download | measure Length -s).sum / 1Mb

Podobno zamenjajte 1 Mb z 1 Gb za pridobitev velikosti mape v gigabajtih.

(gci E:\Download | measure Length -s).sum / 1Gb

Če želite določiti velikost določenih vrst datotek v imeniku, lahko uporabite nadomestni znak * sledi vrsta končnice datoteke. Prikazala bo samo velikost datoteke za določeno vrsto datoteke.

Če želite na primer ugotoviti, koliko prostora zavzamejo slike v mapi, uporabite naslednji ukaz:

(gci E:\download *.jpg | measure Length -s).sum / 1Mb 

Če dodate nadomestni znak, lahko ugotovite, ali določena vrsta datoteke zavzame največ prostora v mapi. Nato lahko filtrirate vsebino na podlagi pripone datoteke in jo po potrebi izbrišete ali premaknete.

Kako pridobiti velikost podmape z uporabo PowerShell

Zgornji ukaz bo izračunal samo velikost vašega primarnega imenika ali mape. Če želite izračunati skupno velikost datotek v določenem imeniku in njegovih podimenikih, boste morali dodati -Rekurzija parameter za zgornji ukaz. Poleg tega bomo uporabili parameter -force za dostop do skritih in sistemskih datotek.

Če želite na primer pridobiti skupno velikost vašega imenika C:\Users in njegovih podimenikov, vključno s skritimi datotekami, bo ukaz PowerShell videti nekako takole:

((gci -force c:\Users -Recurse -ErrorAction SilentlyContinue| measure Length -s).sum / 1Gb) 

Izhod v tem primeru kaže približno 54 GB. kot skupna velikost mape c:\users. V zgornjem ukazu se parameter -ErrorAction SilentlyContinue uporablja za zatiranje vseh sporočil o napakah, ki se lahko pojavijo med postopkom.

Kako pridobiti velikost podmape v obliki tabele s pomočjo PowerShell

Če želite izvedeti velikost vseh podmap posebej, lahko zaženete skript PowerShell, da dobite grafični pogled vseh podmap in njihovih velikosti. Skript je običajno koristen, če imate velik imenik z več podmapami in jih morate pogosto obdelati.

Za zagon tega skripta lahko uporabite PowerShell ISE. To storite tako:

  1. Pritisnite Win ključ in tip PowerShell ISE. Kliknite na Windows PowerShell ISE iz rezultata iskanja.
  2. Nato kopirajte in prilepite naslednji ukaz v konzolo PowerShell ISE. Ne pozabite spremeniti imenika iz c:\ v želeni imenik.
     $targetfolder = 'C:\'
    $dataColl = Get-ChildItem -Force $targetfolder -Directory -ErrorAction SilentlyContinue | ForEach-Object {
    $len = Get-ChildItem -Recurse -Force $_.FullName -File -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum | Select-Object -ExpandProperty Sum
    $foldername = $_.FullName
    $foldersize = '{0:N2} GB' -f ($len / 1Gb)
    [PSCustomObject]@{
    foldername = $foldername
    foldersizeGb = $foldersize
    }
    }
    $dataColl | Out-GridView -Title "Size of Subdirectories in $targetfolder"
  3. Nato kliknite Zaženi skript ali pritisnite F5 in počakajte, da se skript izvede. Odvisno od velikosti mape boste videli "Velikost podimenikov" pogovorno okno s seznamom vseh podimenikov z njihovo velikostjo.

Poleg tega lahko uporabite primerjalne operatorje PowerShell za filtriranje rezultatov. Če želite na primer pridobiti velikost datoteke za mape, ustvarjene med junijem 2023 in julijem 2023, lahko uporabite naslednji ukaz:

(gci -force E:\Download – Recurse -ErrorAction SilentlyContinue |? {$_.CreationTime -gt '01/23/23' -AND $_.CreationTime -lt '02/23/23'}| measure Length -s).sum / 1Gb

V zgornjem ukazu "?" je vzdevek za Kje-predmet cmdlet, -gt, -IN, -To so primerjalni operatorji in CreationTime je pogoj. Ukaz preveri, ali CreationTime datotek v podimeniku spada v določeno časovno obdobje, in prikaže izhod samo, če je pogoj izpolnjen. Če se prikaže napaka, se prepričajte, da se oblika datuma in časa v ukazu ujema s sistemsko obliko in poskusite znova.

Pridobite velikost mape in podmape z lupino PowerShell

File Explorer v sistemu Windows vam lahko pomaga izračunati velikost katere koli mape in datoteke. Vendar, če delate z več velikimi mapami ali v organizaciji s stotinami računalnikov, ki jih morate upravljati, vam lahko uporaba PowerShell pomaga hitreje opraviti stvari.

Kljub temu, če imate raje rešitev, ki bolj temelji na GUI, razmislite o uporabi orodja za analizo diska. Ta orodja vam lahko pomagajo vizualizirati datotečno strukturo sistema in prikažejo poročilo s podrobnostmi o vsebini, ki zavzame največ prostora v vašem sistemu.