Come trovare file con estensione in PowerShell

  1. Utilizza Get-ChildItem con Filter per trovare file con estensione in PowerShell
  2. Utilizza Get-ChildItem con Include per trovare file con estensioni in PowerShell
  3. Conclusione
Come trovare file con estensione in PowerShell

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.

Ti piacciono i nostri tutorial? Iscriviti a DelftStack su YouTube per aiutarci a creare altre guide video di alta qualità. Iscriviti

Articolo correlato - PowerShell File