Come ottenere le dimensioni della cartella utilizzando PowerShell

Noi e i nostri partner utilizziamo i cookie per archiviare e/o accedere alle informazioni su un dispositivo. Noi e i nostri partner utilizziamo i dati per annunci e contenuti personalizzati, misurazione di annunci e contenuti, approfondimenti sul pubblico e sviluppo del prodotto. Un esempio di dati in fase di elaborazione può essere un identificatore univoco memorizzato in un cookie. Alcuni dei nostri partner possono elaborare i tuoi dati come parte del loro legittimo interesse commerciale senza chiedere il consenso. Per visualizzare le finalità per le quali ritengono di avere un interesse legittimo o per opporsi a questo trattamento dei dati, utilizzare il collegamento all'elenco dei fornitori di seguito. Il consenso fornito sarà utilizzato solo per il trattamento dei dati provenienti da questo sito web. Se desideri modificare le tue impostazioni o revocare il consenso in qualsiasi momento, il link per farlo è nella nostra informativa sulla privacy accessibile dalla nostra home page.

L'utilizzo di Esplora file è un modo per conoscere le dimensioni di una cartella, ma può richiedere del tempo per ottenere le dimensioni esatte, soprattutto se lo è

Controllare le dimensioni di un elemento o di una cartella è piuttosto semplice su tutti i computer Windows. Basta fare clic con il pulsante destro del mouse sulla directory/elemento, fare clic su Proprietà e avrai le dimensioni davanti a te. Corretto?

Non tutti sono fortunati come te. Se la dimensione di un elemento è significativamente maggiore, ad esempio superiore a 100 GB, può richiedere del tempo per il Proprietà finestra per popolare finalmente la dimensione dell'elemento. Sicuramente deve esserci un modo più rapido per controllare la dimensione della cartella.

Potresti aver bisogno delle dimensioni di una cartella in modo da poter stimare il tempo necessario per spostarla o per spostarla liberare spazio sul disco rigido. Per qualsiasi motivo, puoi ottenere istantaneamente le dimensioni di una cartella/directory utilizzando Windows PowerShell.

Questo articolo mostra diversi cmdlet e come utilizzare i relativi switch per ottenere quasi istantaneamente le dimensioni di una cartella sul PC utilizzando PowerShell.

Abbiamo una guida separata su come ottieni le dimensioni delle cartelle utilizzando Esplora file e app di terze parti.

Sommario

  • Comandi per ottenere la dimensione della cartella in PowerShell
  • Ottieni le dimensioni della cartella utilizzando PowerShell
  • Ottieni le dimensioni di cartelle e sottocartelle utilizzando PowerShell
  • Porta via

Comandi per ottenere la dimensione della cartella in PowerShell

Ci sono 2 comandi principali che puoi usare in PowerShell per ottenere la dimensione di una cartella. Questi comandi possono essere utilizzati insieme a opzioni e parametri per filtrare ulteriormente i risultati.

  • Comando: Get-ChildItem

    Alias: gci

    Un alias è un nome alternativo che puoi utilizzare per il comando in modo da non dover digitare l'intero comando ogni volta.

    Dettagli: Questo comando prende le informazioni da una o da una directory specificata, incluse le sottodirectory. Tuttavia, non visualizza le directory vuote.

  • Comando: Misura-Oggetto

    Alias: misurare

    Dettagli: Questo comando viene utilizzato per calcolare le diverse proprietà di una directory specificata, inclusa la sua dimensione.

Questi sono i due cmdlet principali che utilizzeremo oggi per ottenere le dimensioni di una cartella utilizzando PowerShell.

Ottieni le dimensioni della cartella utilizzando PowerShell

Di seguito sono riportati alcuni comandi che puoi utilizzare per ottenere le dimensioni di una cartella sul tuo PC Windows. Si noti che questa sezione elenca solo i cmdlet che forniscono le dimensioni della cartella specificata e gli elementi all'interno soltantoe i risultati non includeranno la dimensione degli elementi all'interno delle sottodirectory.

Se vuoi ottenere anche la dimensione degli elementi all'interno delle sottodirectory, fai riferimento al file sezione successiva sotto.

Continuiamo ora con l'esempio del controllo della dimensione della cartella “D:\iTechtics\ISOs” che abbiamo sul nostro PC. Si noti che è necessario sostituire il file [Percorso alla cartella] con il percorso completo della cartella/directory di cui si desidera ottenere la dimensione.

Eseguire il comando seguente a ottenere la dimensione di una cartella in byte:

Get-ChildItem [Percorso della cartella] | Misura-Oggetto -Proprietà Lunghezza -somma
Ottieni le dimensioni della cartella utilizzando PowerShell in byte
Ottieni le dimensioni della cartella utilizzando PowerShell in byte

Il campo "Somma" visualizzerà la dimensione della cartella in byte, come nell'immagine sopra. La dimensione approssimativa degli elementi all'interno della cartella "ISOs" è di 83 GB.

Nota: La dimensione in byte deve essere divisa per 1024 per ottenere la dimensione in kilobyte, quindi altri 1024 per megabyte e quindi altri 1024 per gigabyte. Tuttavia, non è necessario eseguire questo calcolo poiché è possibile ottenere la risposta direttamente in MB o GB (discusso di seguito).

Per ottenere la dimensione di una cartella in MB o GB, utilizzare il rispettivo comando di seguito:

  • Per MB:

    (gci [PathToFolder] | misura Lunghezza -s).sum / 1Mb
    Ottieni le dimensioni della cartella utilizzando PowerShell in MB
    Ottieni le dimensioni della cartella utilizzando PowerShell in MB
  • Per GB:

    (gci [PathToFolder] | misura Lunghezza -s).sum / 1Gb
    Ottieni le dimensioni della cartella utilizzando PowerShell in GB
    Ottieni le dimensioni della cartella utilizzando PowerShell in GB

Come puoi vedere nelle immagini sopra, la dimensione in MB e GB è ambigua da capire a colpo d'occhio a causa della dimensione in molti decimali. È possibile arrotondare il risultato del comando utilizzando il seguente cmdlet durante la sostituzione di "X” con il numero di cifre decimali a cui vuoi arrotondare la tua risposta.

Nota: Sostituisci "GB" e "MB" se necessario.

"{0:NX} GB" -f ((gci [PercorsoCartella] | misura Lunghezza -s).sum / 1Gb)
Ottieni le dimensioni della cartella arrotondate al decimale usando PowerShell
Ottieni le dimensioni della cartella arrotondate al decimale usando PowerShell

Inoltre, puoi anche ottenere la dimensione di tutti gli elementi all'interno di una cartella con lo stesso tipo/estensione di file. Questa sintassi del comando può essere utilizzata per questo scopo in cui verrà visualizzata la dimensione del file di tutti gli elementi con l'estensione ".ISO":

(gci [PathToFolder] *.iso | misura Lunghezza -s).sum / 1Gb
Ottieni le dimensioni di elementi di tipo di file specifici utilizzando PowerShell
Ottieni le dimensioni di elementi di tipo di file specifici utilizzando PowerShell

Ottieni le dimensioni di cartelle e sottocartelle utilizzando PowerShell

Fino ad ora, tutti i comandi che abbiamo discusso ti mostreranno la dimensione combinata dei singoli elementi nella directory specificata. Se la directory principale ha sottodirectory, la dimensione degli elementi lo farebbe non accumularsi nei risultati.

Per ottenere anche la dimensione degli elementi all'interno delle sottocartelle, è necessario utilizzare il "-Ricorsoparametro ". Questo è usato in congettura con "-ErrorAction SilentlyContinue” per aggirare gli errori di accesso alla directory come “Autorizzazione negata” ecc.

Ecco due esempi di utilizzo del "-Ricorso” parametro per ottenere la dimensione del genitore e le sottodirectory:

(gci [PathToFolder] –Recurse -ErrorAction SilentlyContinue| misura Lunghezza -s).sum / 1Gb. "{0:NX} GB" -f ((gci –force [PathToFolder] –Recurse -ErrorAction SilentlyContinue| misura Lunghezza -s).sum / 1 GB)
Ottieni le dimensioni di cartelle e sottocartelle utilizzando il parametro Recurse in PowerShell
Ottieni le dimensioni di cartelle e sottocartelle usando il parametro -Recurse in PowerShell

Si noti che questo cmdlet includerà anche le dimensioni di any oggetti nascosti.

Oltre a scoprire le dimensioni delle cartelle padre e figlio, puoi anche applicare filtri. Ad esempio, puoi trovare la dimensione degli elementi creati in un giorno specifico, un mese specifico o un anno specifico. Questi sono definiti inserendo le date di inizio e di fine, che sono rispettivamente definite dal "-gt” (maggiore di) e “-lt” (minore di) parametri.

Ecco la sintassi per ottenere le dimensioni di una cartella con sottocartelle create nell'aprile 2022:

Nota: Il formato delle date è MM/GG/AA.

(gci -force [PathToFolder] –Recurse -ErrorAction SilentlyContinue |? {$_.CreationTime -gt '4/1/22' -AND $_.CreationTime -lt '4/30/22'}| misura Lunghezza -s).sum / 1Gb
Ottieni le dimensioni di cartelle e sottocartelle con filtro temporale utilizzando PowerShell
Ottieni le dimensioni di cartelle e sottocartelle con filtro temporale utilizzando PowerShell

Puoi anche applicare questi filtri utilizzando i comandi forniti in precedenza per ottenere solo le dimensioni delle cartelle delle cartelle principali.

Ora, per rendere le cose più complicate, supponiamo di dover ottenere la dimensione di ogni sottodirectory all'interno di una cartella. Ciò può essere ottenuto anche utilizzando PowerShell. Naturalmente, i risultati saranno comprensivi della dimensione degli elementi all'interno delle sottodirectory e presentati in un formato tabulare ordinato.

Detto questo, affinché funzioni, devi o consentire l'esecuzione degli script all'interno di PowerShell o utilizzare PowerShell ISE per eseguire il seguente script:

$targetfolder='D:\' $dataColl = @() gci -force $targetfolder -ErrorAction SilentlyContinue |? { $_ -is [io.directoryinfo] } | % { $len = 0. gci -recurse -force $_.nome completo -ErrorAction SilentlyContinue | % { $len += $_.lunghezza } $nomecartella = $_.nomecompleto. $foldersize= '{0:N2}' -f ($len / 1Gb) $dataObject = Nuovo oggetto 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 -Titolo "Dimensione di tutte le sottodirectory nell'unità D"
Ottieni tutte le dimensioni delle cartelle delle sottodirectory utilizzando lo script PowerShell
Ottieni tutte le dimensioni delle cartelle delle sottodirectory utilizzando lo script PowerShell

Naturalmente, puoi cambiare la directory da scansionare così come il nome del file di output nello script sopra indicato.

Porta via

Indipendentemente dalle dimensioni di un file o di una cartella, utilizzando PowerShell puoi determinarne immediatamente le dimensioni e pianificare in anticipo.

I metodi condivisi in questo post consentono di ottenere la dimensione di una cartella, una cartella così come le sue sottodirectory, la dimensione di uno specifico tipo di file elementi all'interno di una cartella o addirittura filtrarli durante un periodo di tempo specifico. Fai la tua scelta e scopri la dimensione delle tue cartelle.

Questi metodi sono particolarmente utili se si desidera determinare la dimensione di un database prima della migrazione, dei backup del sito o se si desidera semplicemente liberare spazio sul disco rigido.

Ultimo post sul blog

Scarica PowerShell 7.3 Preview 8 (programmi di installazione offline)
July 19, 2023

Noi e i nostri partner utilizziamo i cookie per archiviare e/o accedere alle informazioni su un dispositivo. Noi e i nostri partner utilizziamo i d...

PowerShell 7: scarica, installa, aggiorna e guida all'uso
July 19, 2023

Noi e i nostri partner utilizziamo i cookie per archiviare e/o accedere alle informazioni su un dispositivo. Noi e i nostri partner utilizziamo i d...

Scarica PowerShell 7.2 Anteprima 9 programmi di installazione offline
July 19, 2023

Noi e i nostri partner utilizziamo i cookie per archiviare e/o accedere alle informazioni su un dispositivo. Noi e i nostri partner utilizziamo i d...