Come trovare file con estensione in PowerShell
-
Utilizza
Get-ChildItem
conFilter
per trovare file con estensione in PowerShell -
Utilizza
Get-ChildItem
conInclude
per trovare file con estensioni in PowerShell - Conclusione

PowerShell è uno strumento versatile e potente per gestire file e directory sul tuo computer. Un compito comune è trovare file con estensioni specifiche.
In questo articolo, esploreremo i metodi per localizzare in modo efficiente file con estensioni particolari utilizzando il cmdlet Get-ChildItem
in PowerShell.
Utilizza Get-ChildItem
con Filter
per trovare file con estensione in PowerShell
Il comando Get-ChildItem
nell’ambiente PowerShell ottiene un elemento da una posizione specificata. Un elemento può risiedere in un contenitore, e un contenitore è solitamente una cartella.
Inoltre, Get-ChildItem
utilizza un parametro -Recurse
per ottenere elementi dai contenitori o sottocontenitori figlio. Include anche un parametro -Filter
che usa un asterisco (*
) come carattere jolly per ottenere tutti i file con una specifica estensione.
Sintassi:
powershellCopyGet-ChildItem -Path "File Path" -Recurse -File -Filter *.txt
Parametri:
-Path "File Path"
: Specifica la directory di partenza della ricerca, dove cercheremo estensioni specifiche.-Recurse
: Estende la ricerca alle sottodirectory, fornendo una ricerca completa.-File
: Si concentra sui file, non sulle directory, assicurando che vengano restituiti solo i file.-Filter *.txt
: Imposta il filtro per i file con l’estensione".txt"
. L’asterisco (*
) corrisponde a qualsiasi carattere prima di".txt"
.
Facciamo un esempio. Il seguente comando trova tutti i file con l’estensione .txt
.
powershellCopyGet-ChildItem "C:\Files\" -Recurse -File -Filter *.txt
Nel comando, iniziamo la nostra ricerca utilizzando il cmdlet Get-ChildItem
nella directory "C:\Files"
, che ci consente di raccogliere informazioni sugli elementi, che siano file o directory, all’interno di quella posizione. Per estendere la nostra ricerca a tutte le sottodirectory, includiamo il parametro -Recurse
.
Poi, per specificare che siamo interessati ai file e non alle directory, aggiungiamo il parametro -File
. Infine, definiamo la nostra condizione di filtro utilizzando -Filter *.txt
, che cerca file che terminano con ".txt"
, con l’asterisco (*
) che funge da carattere jolly per corrispondere a qualsiasi carattere che lo precede.
In questo modo, istruiamo efficacemente PowerShell a localizzare tutti i file i cui nomi terminano in ".txt"
.
Output:
textCopyDirectory: C:\Files
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 5/15/2022 11:02 PM 0 file1.txt
-a---- 5/15/2022 11:02 PM 0 file2.txt
-a---- 5/15/2022 11:02 PM 0 file3.txt
Directory: C:\Files\Misc files
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 5/15/2022 11:05 PM 0 file8.txt
Directory: C:\Files\More Files
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 5/15/2022 11:02 PM 0 file4.txt
Directory: C:\Files\More Files\Some More Files
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 5/15/2022 11:03 PM 0 file6.txt
Potremmo aggiungere il parametro -Name
al Get-ChildItem
per restituire solo i percorsi dei file piuttosto che un output dettagliato.
powershellCopyGet-ChildItem "C:\Files\" -Recurse -File -Name -Filter *.txt
Output:
textCopyfile1.txt
file2.txt
file3.txt
Misc files\file8.txt
More Files\file4.txt
More Files\Some More Files\file6.txt
Possiamo vedere, nell’output, che mostra solo i nomi e i percorsi dei file dopo aver eseguito il comando con il parametro -Name
.
Utilizza Get-ChildItem
con Include
per trovare file con estensioni in PowerShell
Il comando Get-ChildItem
utilizza il parametro -Include
che accetta uno o più modelli di stringa per includere gli elementi corrispondenti.
Sintassi:
powershellCopyGet-ChildItem "File Path" -Recurse -File -Name -Include *.txt
-Path "File Path"
: Specifica la directory di partenza per la ricerca, dove cerchiamo file di una specifica estensione.-Recurse
: Estende la ricerca a tutte le sottodirectory, assicurando una ricerca completa.-File
: Si concentra esclusivamente sui file, escludendo le directory dai risultati.-Name
: Elenca solo i nomi dei file nell’output senza informazioni dettagliate sui file.-Include *.txt
: Filtra e recupera file con l’estensione".txt"
nei risultati.
Aggiungere un asterisco finale (*
) al percorso del file è necessario senza il flag -Recurse
. In quel caso, elenca solo i file .txt
nella cartella Files
.
powershellCopyGet-ChildItem "C:\Files\*" -File -Name -Include *.txt
Nel comando, utilizziamo il cmdlet Get-ChildItem
per avviare una ricerca di file all’interno della directory "C:\Files"
e di tutte le sue sottodirectory. Per individuare file con un’estensione ".txt"
, utilizziamo una serie di parametri.
Iniziamo impostando il percorso con "C:\Files\*"
, che include tutte le sottodirectory sotto "C:\Files"
. Aggiungendo il parametro -File
, ci concentriamo solo sui file, escludendo le directory.
Il parametro -Name
affina il nostro output, mostrando solo i nomi dei file, mentre il parametro -Include *.txt
affina ulteriormente la ricerca filtrando i file con l’estensione ".txt"
.
Output:
textCopyfile1.txt
file2.txt
file3.txt
L’output rappresenta un elenco di nomi di file con l’estensione ".txt"
, che corrisponde ai criteri che abbiamo specificato nel nostro comando PowerShell.
Conclusione
In questo articolo, abbiamo esplorato metodi efficienti per utilizzare il cmdlet Get-ChildItem
in PowerShell per localizzare tali file. Abbiamo coperto due approcci: l’utilizzo del parametro -Filter
per precisione e il parametro -Include
per flessibilità.
Queste tecniche possono semplificare compiti come l’analisi dei dati e l’organizzazione, rendendo la gestione dei file in un ambiente Windows più efficiente.
Articolo correlato - PowerShell File
- Come caricare file con FTP in PowerShell
- Come creare un file di testo utilizzando Windows PowerShell
- Come estrarre il nome del file da un percorso utilizzando PowerShell
- Come leggere i file riga per riga in Windows PowerShell
- Come memorizzare il contenuto di un file di testo in una variabile utilizzando PowerShell
- Come ottenere il percorso completo dei file in PowerShell