Come trovare file con estensione in PowerShell
-
Utilizza
Get-ChildItemconFilterper trovare file con estensione in PowerShell -
Utilizza
Get-ChildItemconIncludeper 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:
Get-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.
Get-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:
Directory: 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.
Get-ChildItem "C:\Files\" -Recurse -File -Name -Filter *.txt
Output:
file1.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:
Get-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.
Get-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:
file1.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