Welke mappen nemen uw schijf in beslag? Ontdek het met deze Windows-gids.

Als u wilt onderzoeken welke mappen uw opslagruimte in beslag nemen, kunt u de grootte van de map controleren om te bepalen wat uw schijf in beslag neemt. Het controleren van de mapgrootte is ook handig als u een grote map naar een USB-station of cloudopslag moet verplaatsen. Een gemakkelijke manier om dit op Windows te doen, is door Verkenner te gebruiken en het dialoogvenster Eigenschappen van de map te openen.

Bestandsverkenner kan echter traag zijn om de grootte van een grote map te bepalen. En niet ideaal als je bestanden en mappen op meerdere computers in een organisatie wilt beheren. Om dit te verhelpen, kunt u PowerShell gebruiken om snel mapgroottes op Windows te berekenen.

Hoe de grootte van een map te berekenen met behulp van PowerShell op Windows

Om de grootte van een map te berekenen, moet u de twee PowerShell-cmdlets gebruiken, Get-ChildItem en Measure-Object, gevolgd door de eigenschap Length en de parameter Sum.

instagram viewer

Met de cmdlet Get-ChildItem kunt u informatie ophalen uit een opgegeven map en de bijbehorende submappen. De cmdlet Measure-Object en de bijbehorende eigenschappen en parameters berekenen de som van de eigenschap length voor de items die worden geretourneerd door de cmdlet Get-ChildItem (alias 'cgi').

Als u nieuw bent bij PowerShell, wilt u misschien onze uitleg lezen essentiële PowerShell-cmdlets om de basisprincipes van PowerShell te begrijpen.

Nu u bekend bent met de PowerShell-opdrachten, kunt u ze als volgt gebruiken om elke mapgrootte te krijgen.

  1. druk de Winnen toets en typ krachtshell.
  2. Klik vervolgens met de rechtermuisknop op Windows PowerShell en selecteer Als administrator uitvoeren. Klik Ja als daarom wordt gevraagd Gebruikersaccount controle.
  3. Typ de volgende opdracht in het PowerShell-venster:
     Get-ChildItem FolderPath | Measure-Object -Property Length -sum
  4. Vervang in het bovenstaande commando FolderPath met het directorypad waar uw map is opgeslagen. Als u bijvoorbeeld de grootte wilt berekenen van de downloadmap in de E:\ drive, dan ziet de volledige opdracht er als volgt uit:
    Get-ChildItem E:\Download | Measure-Object -Property Length -sum
  5. De terugkeer toont het aantal items in de map en de grootte ervan in bytes. U moet de totale som delen door 1024 om de maat binnen te krijgen KB's (Kilobytes). Verdeel het door 1024 nogmaals om de maat erin te krijgen MB's (Megabytes) enzovoort.

U kunt ook de eigenschap .sum gebruiken om de totale grootte op te halen en deze te delen door 1 miljoen of miljard om deze om te zetten in megabytes of gigabytes.

Als u bijvoorbeeld de waarde in gigabytes (MB's) wilt weten, typt u de volgende opdracht en drukt u op Binnenkomen:

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

Op dezelfde manier vervangen 1Mb met 1Gb om de mapgrootte in gigabytes op te halen.

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

Als u de grootte van specifieke soorten bestanden in een map wilt identificeren, kunt u het jokerteken gebruiken * gevolgd door het type bestandsextensie. Het toont alleen de bestandsgrootte voor het opgegeven bestandstype.

Gebruik de volgende opdracht om bijvoorbeeld uit te zoeken hoeveel ruimte de afbeeldingen in een map innemen:

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

Door een jokerteken toe te voegen, kunt u bepalen of een specifiek bestandstype de meeste ruimte in de map inneemt. Vervolgens kunt u de inhoud filteren op basis van de bestandsextensie en indien nodig verwijderen of verplaatsen.

De grootte van de submap verkrijgen met behulp van PowerShell

De bovenstaande opdracht berekent alleen de grootte van uw primaire map of map. Om de totale grootte van bestanden in de opgegeven map en zijn submappen te berekenen, moet u de -Recursie parameter voor het bovenstaande commando. Daarnaast gebruiken we de parameter -force om toegang te krijgen tot verborgen bestanden en systeembestanden.

Om bijvoorbeeld de totale grootte van uw C:\Users-map en zijn submappen, inclusief de verborgen bestanden, te krijgen, ziet de PowerShell-opdracht er ongeveer zo uit:

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

De uitvoer toont in dit geval ongeveer 54 GB. als de totale grootte van de map c:\users. In de bovenstaande opdracht wordt de parameter -ErrorAction SilentlyContinue gebruikt om eventuele foutmeldingen die tijdens het proces kunnen optreden, te onderdrukken.

Hoe u de submapgrootte in een tabelindeling kunt krijgen met behulp van PowerShell

Als u de grootte van alle submappen afzonderlijk wilt weten, kunt u een PowerShell-script uitvoeren om een ​​grafische weergave te krijgen van alle submappen en hun grootte. Een script is meestal handig als u een grote map met meerdere submappen heeft en er regelmatig aan moet werken.

Om dit script uit te voeren, kunt u PowerShell ISE gebruiken. Hier is hoe het te doen:

  1. druk de Sleutel winnen en typ PowerShell-ISE. Klik op Windows PowerShell-ISE uit het zoekresultaat.
  2. Kopieer en plak vervolgens de volgende opdracht in de PowerShell ISE-console. Zorg ervoor dat u de map wijzigt van c:\ naar uw voorkeursmap.
     $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. Klik vervolgens Script uitvoeren of druk op F5 en wacht tot het script is uitgevoerd. Afhankelijk van de mapgrootte ziet u een "Grootte van submappen" dialoog met alle submappen met hun grootte.

Daarnaast kunt u gebruik maken van de PowerShell-vergelijkingsoperatoren om resultaten te filteren. Om bijvoorbeeld de bestandsgrootte te krijgen voor mappen die zijn gemaakt tussen juni 2023 en juli 2023, kunt u de volgende opdracht gebruiken:

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

In het bovenstaande commando, "?" is een alias voor de Waar-Object cmdlet, -gt, -EN, -Het zijn vergelijkingsoperatoren, en Aanmaaktijd is een voorwaarde. De opdracht controleert of de CreationTime van bestanden in de subdirectory binnen het opgegeven datumbereik valt en geeft alleen uitvoer weer als aan de voorwaarde is voldaan. Als u een foutmelding krijgt, zorg er dan voor dat de datum- en tijdnotatie in de opdracht overeenkomt met de systeemnotatie en probeer het opnieuw.

Haal de map- en submapgrootte op met behulp van PowerShell

Verkenner op Windows kan u helpen bij het berekenen van de grootte van elke map en elk bestand. Als u echter met meerdere grote mappen werkt of in een organisatie met honderden computers om te beheren, kan het gebruik van PowerShell u helpen dingen sneller voor elkaar te krijgen.

Dat gezegd hebbende, als je de voorkeur geeft aan een meer GUI-gebaseerde oplossing, overweeg dan om een ​​schijfanalysetool te gebruiken. Deze tools kunnen u helpen de bestandsstructuur van het systeem te visualiseren en een rapport te tonen met details over de inhoud die de meeste ruimte op uw systeem inneemt.