In Powershell elencare tutti i file in una directory è un compito molto facile. Dobbiamo solo usare il seguente comando per elencare tutti i file solo in una directory.
- Tabella dei contenuti:
- La gente cerca anche:
- PowerShell List Files in a Directory:
- gci Alias per Get-ChildItem:
- dir alias per Get-ChildItem:
- PowerShell list only directories:
- PowerShell list only directories short script:
- PowerShell elenca solo i file in tutte le cartelle o directory:
- PowerShell elenca solo le cartelle in tutte le cartelle o directory:
- PowerShell elenca i file di un’estensione:
- PowerShell elenca i file di un’estensione ricorsivamente:
- PowerShell elenca i file di un’estensione in modo ricorsivo con profondità:
- Verdict:
Tabella dei contenuti:
- PowerShell List files in a Directory.
- gci alias per get-chiltitem.
- dir alias per get-childitem.
- PowerShell elenca solo le directory.
- PowerShell elenca solo le directory usando uno script più breve.
- PowerShell elenca i file in modo ricorsivo.
- PowerShell elenca le directory in modo ricorsivo.
- Lista i file di un certo tipo di estensione.
- PowerShell elenca i file di un certo tipo di estensione in modo ricorsivo.
- Elenca i file fino a una profondità nelle sottodirectory.
- Verdict.
La gente cerca anche:
Snippet di lavoro per Start-Job PowerShell 2020
gci -file
Lo script sopra è mostrato è eseguito e l’output è mostrato nell’immagine qui sotto.
Ci sono molte varianti e ne visitiamo alcune in questo post. Vedremo come nasce l’alias gci e vedremo anche alcuni alias diversi. Ci sono modi per ottenere solo le directory all’interno delle directory e anche fino a una certa profondità.
Visiteremo il maggior numero possibile di funzioni per elencare i file in una directory.
PowerShell List Files in a Directory:
Gli sviluppatori di PowerShell hanno reso ingiustificatamente facile trattare con file e cartelle in PowerShell. A differenza dello scripting tradizionale, non dobbiamo pensare troppo alla strutturazione dello script in PowerShell. Questo perché PowerShell è un input e output basato su oggetti. Se qualcuno è bravo in un linguaggio di programmazione orientato agli oggetti, lo scripting su PowerShell gli viene naturale.
Per iniziare, ottenendo solo i file in una directory, possiamo usare il cmdlet get-childitem. Aggiungeremo lo switch -file al cmdlet per recuperare solo i file in una specifica directory.
get-childitem -file
Chiaro che questo risolve il nostro problema. Ma possiamo rendere lo script più efficiente? In effetti, possiamo.
gci Alias per Get-ChildItem:
Il cmdlet get-childitem ha un alias chiamato gci. Diminuisce lo sforzo di scrivere l’intero script. Lo script seguente produrrà l’output di cui abbiamo bisogno.
gci -file
dir alias per Get-ChildItem:
Anche get-childitem ha un alias piuttosto popolare. Può essere sostituito con dir per ottenere gli stessi risultati.
dir -file
Lo script precedente produrrà l’output come segue.
PowerShell list only directories:
Abbiamo imparato come elencare solo i file in una directory specifica. Ora vedremo come elencare solo le directory da una directory. Possiamo farlo con l’aiuto dello switch -directory invece dello switch -file.
gci -directory
PowerShell list only directories short script:
Possiamo semplificare lo script con l’aiuto dello switch -di. È disponibile in quanto è sufficiente per identificare lo switch -directory senza alcuna ambiguità. Usate il seguente script per elencare solo le directory nella directory.
gci -di
Questo darà agli utenti il seguente output.
PowerShell elenca solo i file in tutte le cartelle o directory:
Ora che abbiamo visto come elencare solo i file o solo le cartelle, non abbiamo ancora imparato come elencare solo i file nella directory. Possiamo fare proprio questo con l’aiuto dello switch -recurse. Lo script è dato qui sotto.
gci -file -recurse
Chiaro che questo è un ottimo script per arrivare solo ai file nella directory o nella cartella.
PowerShell elenca solo le cartelle in tutte le cartelle o directory:
Possiamo elencare solo i file nella directory e anche la successiva directory figlia utilizzando il seguente script.
gci -di -recurse
PowerShell elenca i file di un’estensione:
Se vogliamo possiamo elencare solo un certo tipo di file in una directory. Possiamo elencare solo i file PDF in una directory usando il seguente script.
gci -file *.pdf
PowerShell elenca i file di un’estensione ricorsivamente:
Possiamo portare l’elenco dei file a un nuovo livello elencando solo i file di un’estensione ricorsivamente. L’esempio seguente dimostra proprio questo.
gci -file -r *.pdf
Nota come usiamo lo switch -r invece dello switch -recurse poiché diminuisce la quantità di battitura che deve essere fatta.
PowerShell elenca i file di un’estensione in modo ricorsivo con profondità:
Possiamo elencare tutti i file in una directory e successive sottodirectory usando lo switch -recurse. Possiamo anche restringere la ricerca usando l’estensione del file. Ma cosa succede se non vogliamo cercare nelle cartelle che sono più profonde di 2 sottodirectory. Possiamo usare l’opzione -depth. Lo script qui sotto lo usa.
gci -file -d 1 -r *.pdf
Lo script di cui sopra avrà get-childitem di tipo file, recupererà fino alle directory figlio 1, lo farà ricorsivamente e infine, si assicurerà di recuperare solo i pdf.
Verdict:
In questo post, abbiamo imparato a conoscere PowerShell List all files in a Directory. Lo abbiamo fatto usando l’alias get-childitem chiamato gci. Il gci accoppiato con lo switch -file fa quello che ci serve. Abbiamo anche recuperato i file di una certa estensione. Abbiamo ottenuto i file di una certa estensione in modo ricorsivo e anche fino a una profondità limitata.
Se volete altri fantastici post, rimanete sintonizzati su TecKangaroo.