Haal de mapgrootte op in PowerShell

Haal De Mapgrootte Op In Powershell



Systeembeheerders moeten de opslaggrootte van de schijven en mappen op de server kennen. Zodat ze de opslag van de opgegeven schijven kunnen toewijzen of verkleinen. Omdat het een krachtige beheerderstool is, kan PowerShell de opslaggrootte van bestanden, mappen en schijven achterhalen.

Er bestaat niet zo'n speciale opdracht in PowerShell om de mapgrootte op te halen. Met de combinatie van twee tot drie opdrachten kunnen PowerShell-gebruikers echter de mapgrootte bepalen.

Snel overzicht:







Haal de mapgrootte op in PowerShell

De Get-ChildItem opdracht haalt items op van het opgegeven pad. Het kan echter de mapgrootte achterhalen met behulp van de Meetobject commando en de -Som parameter. De opdracht Measure-Object berekent het aantal bestanden in een map, het aantal tekens, woorden en regels in een document en de grootte van het object. Terwijl de parameter -Sum de grootte van de map, het bestand of het object uit de uitvoer selecteert.



Dit is de syntaxis om de mapgrootte in PowerShell te verkrijgen:



Get-ChildItem -Pad 'Mappad' | Meetobject -Eigendom Lengte -som

Voorbeeld 1: Mapgrootte ophalen in PowerShell

Deze instantie krijgt de opgegeven mapgrootte met behulp van de Get-ChildItem commando, Meetobject commando, en -Som parameter:





Get-ChildItem -Pad 'C:\Documenten' | Meetobject -Eigendom Lengte -som

Volgens de bovenstaande code:

  • Gebruik eerst de Get-ChildItem opdracht en geef het mappad op.
  • Pipetteer vervolgens de opdracht naar de Meetobject commando.
  • Wijs daarna de lengtewaarde toe aan de -Eigendom parameter.
  • Gebruik ten slotte de -Som parameter om de mapgrootte weer te geven:



Voorbeeld 2: Verkrijg de opgegeven mapgrootte in de indeling Megabytes (Mb) en Gigabytes (GB).

Om de mapgrootte in Mbs te krijgen, moet u de opdracht die de mapgrootte ophaalt samenvoegen met de Som commando en deel het vervolgens met de 1Mb waarde.

Zo haalt u de mapgrootte in MB op:

( Get-ChildItem -Pad 'C:\Documenten' | Meetobject -Eigendom Lengte -Som ) .som / 1Mb

Volgens de bovenstaande code:

  • Schrijf de code om de mapgrootte binnen het ronde haakje te krijgen en voeg deze samen met de Som waarde.
  • Gebruik daarna de schuine streep en specificeer 1Mb om de mapgrootte in Mbs te krijgen:

Om de mapgrootte en weergave in GB's te verkrijgen, voegt u op dezelfde manier de opdracht samen met de Som waarde die de mapgrootte krijgt met de 1 GB waarde:

( Get-ChildItem -Pad 'C:\Documenten' | Meetobject -Eigendom Lengte -Som ) .som / 1 GB

Om de mapgrootte in GB's te krijgen, geeft u 1 GB op na de schuine streep:

Voorbeeld 3: Mapgrootte inclusief submappen ophalen in PowerShell

Om de mapgrootte samen met de submappen te krijgen, moet u de -Recursie parameter. De parameter -Recurse dwingt de navigator om naar de submappen te navigeren en deze op te nemen in de mapgroottetelling.

Zo kunt u de submapgrootte samen met de mapgrootte berekenen:

( Get-ChildItem -Pad 'C:\Documenten' -Recursie -FoutActie Negeren | Meetobject -Eigendom Lengte -Som ) .Som / 1Mb

Volgens de bovenstaande code:

  • Gebruik eerst de Get-ChildItem commando en geef de map op waarvan u de grootte wilt krijgen met behulp van de -Pad parameter.
  • Gebruik dan de -Recursie parameter om de submappen op te nemen in de query voor het tellen van de mapgrootte.
  • Geef daarna de -FoutActie parameter met de Negeren waarde die eraan is toegewezen om fouten tijdens deze code-uitvoering te negeren.
  • Pipetteer het commando naar de Meetobject commando en specificeer de Lengte waarde met behulp van de -Eigendom parameter. Geef bovendien de -Som parameter om de mapgrootte weer te geven.
  • Plaats ten slotte de hele code tussen de ronde haakjes en voeg deze samen met de Som waarde. Geef vervolgens de schuine streep op en plaats de 1Mb om de mapgrootte in Mbs weer te geven:

Voorbeeld 4: Mapgrootte ophalen, exclusief bepaalde bestandstypen

Om de mapgrootte te tellen, behalve voor de opgegeven bestandstypen, gebruikt u het -Uitsluiten parameter wordt gebruikt. Geef het bestandstype op bij de parameter -Exclude om ze uit te sluiten van de totale mapgrootte.

Zo kunt u opgegeven bestandstypen uitsluiten van de totale mapgrootte:

( Get-ChildItem -Pad 'C:\Documenten' -Uitsluiten * .pdf | Meetobject -Eigendom Lengte -Som ) .Som / 1Mb

Om de mapgrootte exclusief het opgegeven bestandstype te krijgen, gebruikt u eenvoudigweg de -Uitsluiten parameter en geef het bestandstype op, samen met het asterisk-teken. Het sterretje selecteert alle bestanden die verband houden met dat bestandstype:

Voorbeeld 5: Haal de bestandsgrootte van een bepaald type op in PowerShell

Om alleen de grootte van bepaalde bestandstypen uit de map te krijgen, moet het -Filter parameter wordt gebruikt. De opgegeven bestandstypen worden gespecificeerd in de parameter -Filter en vervolgens wordt hun grootte berekend en weergegeven in de console.

Deze demonstratie krijgt de bestandsgrootte van een bepaald type:

( Get-ChildItem -Pad 'C:\Documenten' - Filter * .pdf | Meetobject -Eigendom Lengte -Som ) .Som / 1Mb

Bonustip: verkrijg de bestandsgrootte met behulp van Get-ChildItem in PowerShell

De methode om de grootte van het bestand te verkrijgen is dezelfde als voor het verkrijgen van de mapgrootte in PowerShell. Het enige verschil is dat u het bestandspad naar het -Pad parameter in plaats van het mappad.

Deze demonstratie kan de bestandsgrootte krijgen:

Get-ChildItem -Pad 'C:\Documenten\Bestand.pdf' | Meetobject -Eigendom Lengte -som

Om de bestandsgrootte in PowerShell te verkrijgen, geeft u eenvoudigweg het bestandspad op naar de -Pad parameter:

Bonustip: verkrijg meerdere mapgroottes in PowerShell

Om de grootte van meer dan één map te bepalen, geeft u het pad van de map op naar het -Pad parameter gescheiden door komma's.

Hier is de demonstratie om de meerdere mapgrootte in PowerShell te krijgen:

( Get-ChildItem -Pad 'C:\Documenten' , 'C:\Documenten' | Meetobject -Eigendom Lengte -som ) .Som / 1Mb

Om de mapgrootte van meerdere mappen te achterhalen, geeft u eenvoudigweg het pad van de mappen op in de parameter -Path:

Er zijn meerdere mapgroottes succesvol opgehaald.

Conclusie

Om de mapgrootte in PowerShell op te halen, geeft u het mappad op naar de Get-ChildItem en pijp het naar de Meetobject commando. Waar specificeert u de lengtewaarde voor de -Eigendom parameter en geef vervolgens de -Som parameter om de mapgrootte in de console te selecteren en weer te geven. Ik heb in dit artikel verschillende voorbeelden gegeven om de mapgrootte in PowerShell te krijgen.