HOWTO · PowerShell

Come contare gli oggetti in una cartella con PowerShell

Questo tutorial ti insegnerà a contare il numero di file e cartelle utilizzando PowerShell.

PowerShell supporta diverse operazioni su file e cartelle, come creare, copiare, spostare, rimuovere e elencare file e cartelle. A volte, potrebbe essere necessario sapere quanti file e cartelle sono presenti in una cartella specifica.

PowerShell offre diversi metodi per raggiungere questo obiettivo, ognuno con i propri vantaggi e casi d’uso. Uno di questi metodi consiste nell’utilizzare il cmdlet Measure-Object, che fornisce un modo semplice per contare gli oggetti misurando le loro proprietà.

Questo articolo esplora come utilizzare il cmdlet Measure-Object per contare gli elementi in una cartella in PowerShell, insieme ad altri metodi alternativi per il confronto.

Usa il cmdlet Measure-Object per contare gli elementi in una cartella con PowerShell

Il cmdlet Measure-Object calcola i valori delle proprietà di determinati tipi di oggetti. Puoi utilizzare questo cmdlet per contare gli oggetti.

Calcola anche la media, la somma, il minimo, il massimo e la deviazione standard dei valori numerici. Puoi contare il numero di righe, parole e caratteri degli oggetti stringa.

Il seguente comando conta il numero di file e cartelle presenti nella directory path. Conta tutti i file e le cartelle al primo livello dell’albero delle cartelle.

(Get-ChildItem 'path' | Measure-Object).Count

In questo esempio, stiamo utilizzando Get-ChildItem per recuperare tutti gli elementi all’interno della cartella situata in "path". Questa collezione di elementi viene quindi passata a Measure-Object, che calcola varie proprietà.

Poiché siamo interessati a contare gli elementi, accediamo alla proprietà Count dell’oggetto risultante, fornendoci il conteggio totale degli elementi nella cartella.

Output:

conta gli elementi in una cartella con powershell - output 1

La proprietà Count mostra solo i valori di conteggio.

La proprietà Count, come suggerisce il suo nome, mostra semplicemente i valori di conteggio ottenuti dalla misurazione.

Ad esempio, se desideri contare solo i file all’interno di una directory, puoi utilizzare il parametro -File con Get-ChildItem. Questo parametro istruisce PowerShell a recuperare esclusivamente un elenco di file.

(Get-ChildItem -File 'path' | Measure-Object).Count

Questo comando calcola il conteggio dei file presenti nella directory path. L’output, in questo caso, è 11, indicando il numero totale di file trovati.

Output:

conta gli elementi in una cartella con powershell - output 2

In modo simile, se vuoi contare solo le cartelle, puoi utilizzare il parametro -Directory:

(Get-ChildItem -Directory 'path' | Measure-Object).Count

In questo esempio, PowerShell conta solo le cartelle all’interno della directory specificata, restituendo un conteggio di 6.

Output:

conta gli elementi in una cartella con powershell - output 3

Il parametro -Recurse in Get-ChildItem ottiene gli elementi ricorsivamente nella posizione specificata. Puoi utilizzare il parametro -Recurse per contare file e cartelle ricorsivamente.

(Get-ChildItem -Recurse 'path' | Measure-Object).Count

Questo comando conta tutti i file e le cartelle all’interno della posizione specificata, inclusi quelli nelle sottocartelle. L’output, in questo caso, è 12082, indicando il conteggio totale degli elementi trovati ricorsivamente.

Output:

conta gli elementi in una cartella con powershell - output 4

Usa Get-ChildItem e la proprietà Count per contare gli elementi in una cartella con PowerShell

Contare gli elementi all’interno di una cartella è un’operazione fondamentale nello scripting PowerShell, specialmente quando si gestiscono file e directory. Un modo semplice per raggiungere questo obiettivo è utilizzare il cmdlet Get-ChildItem insieme alla proprietà Count.

(Get-ChildItem -Path "path").Count

In questo esempio, stiamo utilizzando Get-ChildItem per recuperare tutti gli elementi all’interno della cartella situata in "path". La collezione di elementi restituita da Get-ChildItem viene quindi passata alla proprietà .Count, che ci fornisce il conteggio totale degli elementi nella cartella.

Output:

conta gli elementi in una cartella con powershell - output 5

Usa il ciclo foreach per contare gli elementi in una cartella con PowerShell

Contare gli elementi all’interno di una cartella è un’operazione fondamentale nello scripting PowerShell, specialmente quando si gestiscono file e directory. Un modo semplice per raggiungere questo obiettivo è utilizzare il cmdlet Get-ChildItem insieme alla proprietà Count.

$folderPath = "path"
$count = 0
foreach ($item in (Get-ChildItem -Path $folderPath)) {
    $count++
}
$count

In questo esempio, prima definiamo la variabile $folderPath per memorizzare il percorso della cartella in cui vogliamo contare gli elementi. Inizializziamo una variabile contatore, $count, a zero.

Poi, utilizzando un ciclo foreach, iteriamo su ciascun elemento nella cartella ottenuta tramite Get-ChildItem. Per ciascun elemento incontrato, incrementiamo la variabile $count.

Dopo che il ciclo è completato, restituiamo il conteggio finale degli elementi memorizzati in $count.

Output:

contare gli elementi in una cartella con powershell - output 6

Conclusione

Contare gli elementi in una cartella con PowerShell è un compito fondamentale per molti scenari di scripting, dalla gestione di file di base a flussi di lavoro di automazione complessi. Sfruttando i cmdlet versatili di PowerShell come Measure-Object e Get-ChildItem e strutture di controllo come i cicli foreach, gli scrittori di script possono determinare efficientemente il numero di elementi all’interno di una cartella.

Ogni metodo offre i suoi vantaggi, consentendo agli scrittori di script di scegliere l’approccio che meglio si adatta alle loro specifiche esigenze e preferenze. Con le conoscenze acquisite da questo articolo, gli utenti di PowerShell possono gestire con sicurezza i compiti di conteggio di file e cartelle nelle loro attività di scripting.