Condividi tramite


Get-ChildItem

Ottiene gli elementi e i sottoelementi in una o più posizioni specificate.

Sintassi

Get-ChildItem
   [[-Path] <string[]>]
   [[-Filter] <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Recurse]
   [-Depth <uint>]
   [-Force]
   [-Name]
   [<CommonParameters>]
Get-ChildItem
   [[-Filter] <string>]
   -LiteralPath <string[]>
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Recurse]
   [-Depth <uint>]
   [-Force]
   [-Name]
   [<CommonParameters>]

Descrizione

Il cmdlet Get-ChildItem ottiene gli elementi in una o più posizioni specificate. Se l'elemento è un contenitore, ottiene gli elementi all'interno del contenitore, noti come elementi figlio. È possibile usare il parametro Recurse per ottenere elementi in tutti i contenitori figlio e usare il parametro Depth per limitare il numero di livelli da ripetere.

Get-ChildItem non visualizza directory vuote. Quando un comando Get-ChildItem include i parametri depth o Recurse, le directory vuote non sono incluse nell'output.

Il cmdlet Get-ChildItem è progettato per lavorare con gli elementi esposti da qualsiasi provider. Ad esempio, gli elementi possono essere un file o una directory del file system, un hive del Registro di sistema o un archivio certificati. Per elencare i provider disponibili nella sessione, usare il comando Get-PSProvider. Alcuni parametri sono disponibili solo per un provider specifico. Per ulteriori informazioni, consultare about_Providers.

Esempio

Esempio 1: Recuperare elementi figlio da una directory del file system

Questo esempio ottiene gli elementi figlio da una directory del file system. Vengono visualizzati nomi di file e sottodirectory. Per le posizioni vuote, il comando non restituisce alcun output e torna al prompt di PowerShell.

Il cmdlet Get-ChildItem usa il parametro Path per specificare la directory C:\Test. Get-ChildItem visualizza i file e le directory nella console di PowerShell.

Get-ChildItem -Path C:\Test

Directory: C:\Test

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        2/15/2019     08:29                Logs
-a----        2/13/2019     08:55             26 anotherfile.txt
-a----        2/12/2019     15:40         118014 Command.txt
-a----         2/1/2019     08:43            183 CreateTestFile.ps1
-ar---        2/12/2019     14:31             27 ReadOnlyFile.txt

Per impostazione predefinita, Get-ChildItem elenca la modalità (Attributi), LastWriteTime, le dimensioni del file (Lunghezza) e il Nome dell'elemento. Le lettere nella proprietà Mode possono essere interpretate come segue:

  • l (collegamento)
  • d (directory)
  • a (archivio)
  • r (sola lettura)
  • h (nascosto)
  • s (sistema)

Per altre informazioni sui flag di modalità, vedere about_FileSystem_Provider.

Esempio 2: Recuperare i nomi degli elementi figlio in una directory

In questo esempio vengono elencati solo i nomi degli elementi in una directory.

Il cmdlet Get-ChildItem usa il parametro Path per specificare la directory C:\Test. Il parametro Nome restituisce solo i nomi di file o directory dal percorso specificato. I nomi restituiti sono relativi al valore del parametro Path.

Get-ChildItem -Path C:\Test -Name

Logs
anotherfile.txt
Command.txt
CreateTestFile.ps1
ReadOnlyFile.txt

Esempio 3: Recuperare elementi figlio nella directory corrente e nelle sottodirectory

In questo esempio vengono visualizzati .txt file che si trovano nella directory corrente e nelle relative sottodirectory.

Get-ChildItem -Path .\*.txt -Recurse -Force

Directory: C:\Test\Logs\Adirectory

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        2/12/2019     16:16             20 Afile4.txt
-a-h--        2/12/2019     15:52             22 hiddenfile.txt
-a----        2/13/2019     13:26             20 LogFile4.txt

    Directory: C:\Test\Logs\Backup

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        2/12/2019     16:16             20 ATextFile.txt
-a----        2/12/2019     15:50             20 LogFile3.txt

    Directory: C:\Test\Logs

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        2/12/2019     16:16             20 Afile.txt
-a-h--        2/12/2019     15:52             22 hiddenfile.txt
-a----        2/13/2019     13:26             20 LogFile1.txt

    Directory: C:\Test

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        2/13/2019     08:55             26 anotherfile.txt
-a----        2/12/2019     15:40         118014 Command.txt
-a-h--        2/12/2019     15:52             22 hiddenfile.txt
-ar---        2/12/2019     14:31             27 ReadOnlyFile.txt

Il cmdlet Get-ChildItem usa il parametro Path per specificare C:\Test\*.txt. Il percorso utilizza il carattere jolly asterisco (*) per specificare tutti i file con estensione .txt. Il parametro Recurse cerca nella directory Path e nelle relative sottodirectory, come illustrato nelle intestazioni Directory:. Il parametro Force visualizza file nascosti come hiddenfile.txt che hanno una modalità di h.

Esempio 4: Ottenere elementi figlio usando il parametro Include

In questo esempio Get-ChildItem usa il parametro Includi per trovare elementi specifici dalla directory specificata dal parametro Path.

# When using the -Include parameter, if you don't include an asterisk in the path
# the command returns no output.
Get-ChildItem -Path C:\Test\ -Include *.txt



Get-ChildItem -Path C:\Test\* -Include *.txt

Directory: C:\Test

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        2/13/2019     08:55             26 anotherfile.txt
-a----        2/12/2019     15:40         118014 Command.txt
-ar---        2/12/2019     14:31             27 ReadOnlyFile.txt

Il cmdlet Get-ChildItem usa il parametro Path per specificare la directory C:\Test. Il parametro Path include un asterisco jolly finale (*) per specificare il contenuto della directory. Il parametro Include utilizza un wildcard asterisco (*) per specificare tutti i file con l'estensione del nome file .txt.

Quando si usa il parametro Includi, il parametro Path richiede un asterisco finale (*) per specificare il contenuto della directory. Ad esempio, -Path C:\Test\*.

  • Se il parametro Recurse viene aggiunto al comando, l'asterisco finale (*) nel parametro Path è facoltativo. Il parametro Recurse ottiene gli elementi dalla directory Path e dalle relative sottodirectory. Ad esempio, -Path C:\Test\ -Recurse -Include *.txt
  • Se un asterisco finale (*) non è incluso nel parametro Path, il comando non restituisce alcun output e torna al prompt di PowerShell. Ad esempio, -Path C:\Test\.

Esempio 5: Ottenere elementi figlio utilizzando il parametro Exclude

L'output dell'esempio mostra il contenuto della directory C:\Test\Logs. L'output è un riferimento per gli altri comandi che usano i parametri Exclude e Recurse.

Get-ChildItem -Path C:\Test\Logs

Directory: C:\Test\Logs

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        2/15/2019     13:21                Adirectory
d-----        2/15/2019     08:28                AnEmptyDirectory
d-----        2/15/2019     13:21                Backup
-a----        2/12/2019     16:16             20 Afile.txt
-a----        2/13/2019     13:26             20 LogFile1.txt
-a----        2/12/2019     16:24             23 systemlog1.log

Get-ChildItem -Path C:\Test\Logs\* -Exclude A*

Directory: C:\Test\Logs

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        2/15/2019     13:21                Backup
-a----        2/13/2019     13:26             20 LogFile1.txt
-a----        2/12/2019     16:24             23 systemlog1.log

Il cmdlet Get-ChildItem usa il parametro Path per specificare la directory C:\Test\Logs. Il parametro Exclude utilizza il carattere jolly asterisco (*) per specificare che i file o le directory che iniziano con A o a vengono esclusi dall'output.

Quando si usa il parametro Exclude, un asterisco finale (*) nel parametro Path è facoltativo. Ad esempio, -Path C:\Test\Logs o -Path C:\Test\Logs\*.

  • Se un asterisco finale (*) non è incluso nel parametro Path, viene visualizzato il contenuto del parametro Path. Gli eccezioni sono nomi di file o sottodirectory che corrispondono al valore del parametro Exclude.
  • Se un asterisco finale (*) viene incluso nel parametro percorso, il comando ricorre nelle sottodirectory del parametro percorso. Gli eccezioni sono nomi di file o sottodirectory che corrispondono al valore del parametro Exclude.
  • Se il parametro Recurse viene aggiunto al comando, l'output della ricorsione è lo stesso che il parametro Path includa o meno un asterisco finale (*).

Esempio 6: Ottenere le chiavi del Registro di sistema da un hive del Registro di sistema

In questo esempio vengono ottenute tutte le chiavi del Registro di sistema da HKEY_LOCAL_MACHINE\HARDWARE.

Get-ChildItem usa il parametro Path per specificare la chiave del Registro di sistema HKLM:\HARDWARE. Il percorso dell'hive e il livello principale delle chiavi del Registro di sistema vengono visualizzati nella console di PowerShell.

Per altre informazioni, vedere about_Registry_Provider.

Get-ChildItem -Path HKLM:\HARDWARE

Hive: HKEY_LOCAL_MACHINE\HARDWARE

Name             Property
----             --------
ACPI
DESCRIPTION
DEVICEMAP
RESOURCEMAP
UEFI

Get-ChildItem -Path HKLM:\HARDWARE -Exclude D*

Hive: HKEY_LOCAL_MACHINE\HARDWARE

Name                           Property
----                           --------
ACPI
RESOURCEMAP

Il primo comando mostra il contenuto della chiave del Registro di sistema HKLM:\HARDWARE. Il parametro exclude indica Get-ChildItem di non restituire sottochiavi che iniziano con D*. Attualmente, il parametro exclude funziona solo sulle sottochiavi, non sulle proprietà dell'elemento.

Esempio 7: Ottenere tutti i certificati con l'autorizzazione alla firma del codice

Questo esempio ottiene ogni certificato nell'unità PowerShell Cert: con autorità per la firma del codice.

Il cmdlet Get-ChildItem usa il parametro Path per specificare il provider di certificati con l'unità Cert:. Il parametro Recurse cerca nella directory specificata da Path e dalle relative sottodirectory. Il parametro CodeSigningCert ottiene solo i certificati con autorità di firma del codice.

Get-ChildItem -Path Cert:\* -Recurse -CodeSigningCert

Per altre informazioni sul provider di certificati e sull'unità Cert:, vedere about_Certificate_Provider.

Esempio 8: Ottenere elementi usando il parametro Depth

In questo esempio vengono visualizzati gli elementi in una directory e nelle relative sottodirectory. Il parametro Depth determina il numero di livelli di sottodirectory da includere nella ricorsione. Le directory vuote vengono escluse dall'output.

Get-ChildItem -Path C:\Parent -Depth 2

Directory: C:\Parent

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        2/14/2019     10:24                SubDir_Level1
-a----        2/13/2019     08:55             26 file.txt

    Directory: C:\Parent\SubDir_Level1

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        2/14/2019     10:24                SubDir_Level2
-a----        2/13/2019     08:55             26 file.txt

    Directory: C:\Parent\SubDir_Level1\SubDir_Level2

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        2/14/2019     10:22                SubDir_Level3
-a----        2/13/2019     08:55             26 file.txt

Il cmdlet Get-ChildItem usa il parametro Path per specificare C:\Parent. Il parametro Depth specifica due livelli di ricorsione. Get-ChildItem visualizza il contenuto della directory specificata dal parametro Path e dai due livelli di sottodirectory.

In PowerShell 6.2 è stata aggiunta una visualizzazione alternativa per ottenere informazioni sul collegamento rigido.

Get-ChildItem -Path C:\PathContainingHardLink | Format-Table -View childrenWithHardLink

Esempio 10: output per sistemi operativi non Windows

In PowerShell 7.1 nei sistemi Unix, l'Get-ChildItem fornisce un output simile a Unix:

PS> Get-ChildItem /etc/r*

Directory: /etc

UnixMode   User Group    LastWriteTime Size Name
--------   ---- -----    ------------- ---- ----
drwxr-xr-x root wheel  9/30/2019 19:19  128 racoon
-rw-r--r-- root wheel  9/26/2019 18:20 1560 rc.common
-rw-r--r-- root wheel  7/31/2017 17:30 1560 rc.common~previous
-rw-r--r-- root wheel  9/27/2019 20:34 5264 rc.netboot
lrwxr-xr-x root wheel  11/8/2019 15:35   22 resolv.conf -> /private/var/run/resolv.conf
-rw-r--r-- root wheel 10/23/2019 17:41    0 rmtab
-rw-r--r-- root wheel 10/23/2019 17:41 1735 rpc
-rw-r--r-- root wheel  7/25/2017 18:37 1735 rpc~previous
-rw-r--r-- root wheel 10/23/2019 18:42  891 rtadvd.conf
-rw-r--r-- root wheel  8/24/2017 21:54  891 rtadvd.conf~previous

Le nuove proprietà che fanno ora parte dell'output sono:

  • UnixMode è costituito dalle autorizzazioni per i file rappresentate in un sistema Unix
  • User è il proprietario del file
  • Group è il proprietario del gruppo
  • dimensione è la dimensione del file o della directory come è rappresentato in un sistema Unix

Nota

Questa funzionalità è stata spostata da sperimentale a mainstream in PowerShell 7.1.

Esempio 11: Ottenere la destinazione del collegamento per un punto di giunzione

Il comando dir nella shell dei comandi di Windows mostra il percorso di destinazione di un punto di giunzione del file system. In PowerShell queste informazioni sono disponibili nella proprietà LinkTarget dell'oggetto file system restituito da Get-ChildItem e viene visualizzato nell'output predefinito.

PS D:\> New-Item -ItemType Junction -Name tmp -Target $Env:TEMP
PS D:\> Get-ChildItem | Select-Object Name, LinkTarget

Name     LinkTarget
----     ----------
tmp      C:\Users\user1\AppData\Local\Temp

PS D:\> Get-ChildItem

    Directory: D:\

Mode          LastWriteTime    Length Name
----          -------------    ------ ----
l----   12/16/2021  9:29 AM           tmp -> C:\Users\user1\AppData\Local\Temp

In questo esempio viene eseguito un tentativo di ottenere le informazioni di destinazione per un reparse point di AppX. Le applicazioni di Microsoft Store creano punti di reparse AppX nella directory AppData dell'utente.

Get-ChildItem ~\AppData\Local\Microsoft\WindowsApps\MicrosoftEdge.exe |
    Select-Object Mode, LinkTarget, LinkType, Name

Mode  LinkTarget LinkType Name
----  ---------- -------- ----
la---                     MicrosoftEdge.exe

Al momento, Windows non fornisce un modo per ottenere le informazioni di destinazione per un punto di analisi appX. Le proprietà linktarget e LinkType dell'oggetto file system sono vuote.

Parametri

-Attributes

Nota

Questo parametro è disponibile solo nel provider FileSystem.

Ottiene file e cartelle con gli attributi specificati. Questo parametro supporta tutti gli attributi e consente di specificare combinazioni complesse di attributi.

Ad esempio, per ottenere file non di sistema (non directory) crittografati o compressi, digitare:

Get-ChildItem -Attributes !Directory+!System+Encrypted, !Directory+!System+Compressed

Per trovare file e cartelle con attributi di uso comune, usare il parametro attributi. In alternativa, i parametri Directory, File, Hidden, ReadOnlye System.

Il parametro Attributi supporta i valori seguenti:

  • Archive
  • Compressed
  • Device
  • Directory
  • Encrypted
  • Hidden
  • IntegrityStream
  • Normal
  • NoScrubData
  • NotContentIndexed
  • Offline
  • ReadOnly
  • ReparsePoint
  • SparseFile
  • System
  • Temporary

Per una descrizione di questi attributi, vedere l'enumerazione FileAttributes.

Per combinare gli attributi, usare gli operatori seguenti:

  • ! (NOT)
  • + (AND)
  • , (OR)

Non usare spazi tra un operatore e il relativo attributo. Gli spazi vengono accettati dopo le virgole.

Per gli attributi comuni, usare le abbreviazioni seguenti:

  • D (Directory)
  • H (nascosto)
  • R (sola lettura)
  • S (Sistema)
Tipo:FlagsExpression<T>[FileAttributes]
Valori accettati:Archive, Compressed, Device, Directory, Encrypted, Hidden, IntegrityStream, Normal, NoScrubData, NotContentIndexed, Offline, ReadOnly, ReparsePoint, SparseFile, System, Temporary
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-CodeSigningCert

Nota

Questo parametro è disponibile solo nel provider certificato .

Per ottenere un elenco di certificati con Code Signing nel valore della proprietà EnhancedKeyUsageList, usare il parametro CodeSigningCert.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Depth

Questo parametro è stato aggiunto in PowerShell 5.0 e consente di controllare la profondità della ricorsione. Per impostazione predefinita, Get-ChildItem visualizza il contenuto della directory padre. Il parametro Depth determina il numero di livelli di sottodirectory inclusi nella ricorsione e visualizza il contenuto.

Ad esempio, -Depth 2 include la directory del parametro Path, il primo livello di sottodirectory e il secondo livello di sottodirectory. Per impostazione predefinita, i nomi di directory e i nomi file sono inclusi nell'output.

Nota

In un computer Windows da PowerShell o cmd.exe, è possibile visualizzare una vista grafica di una struttura di directory con il comando tree.com.

Tipo:UInt32
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Directory

Nota

Questo parametro è disponibile solo nel provider FileSystem.

Per ottenere un elenco di directory, utilizzare il parametro Directory o il parametro Attributes con la proprietà Directory. È possibile usare il parametro Recurse con Directory.

Tipo:SwitchParameter
Alias:ad
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-DnsName

Nota

Questo parametro è disponibile solo nel provider certificato .

Specifica un nome di dominio o un modello di nome da confrontare con la proprietà DNSNameList dei certificati che il cmdlet ottiene. Il valore di questo parametro può essere Unicode o ASCII. I valori punycode vengono convertiti in Unicode. Sono consentiti caratteri jolly (*).

Questo parametro è stato reintrodotto in PowerShell 7.1

Tipo:DnsNameRepresentation
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:True

-DocumentEncryptionCert

Nota

Questo parametro è disponibile solo nel provider certificato .

Per ottenere un elenco di certificati con Document Encryption nel valore della proprietà EnhancedKeyUsageList, usare il parametro DocumentEncryptionCert.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Eku

Nota

Questo parametro è disponibile solo nel provider certificato .

Specifica il testo o un modello di testo da associare alla proprietà EnhancedKeyUsageList dei certificati che il cmdlet ottiene. Sono consentiti caratteri jolly (*). La proprietà EnhancedKeyUsageList contiene il nome descrittivo e i campi OID dell'EKU.

Questo parametro è stato reintrodotto in PowerShell 7.1

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:True

-Exclude

Specifica una matrice di uno o più modelli di stringa da associare quando il cmdlet ottiene elementi figlio. Qualsiasi elemento corrispondente viene escluso dall'output. Immettere un elemento o un modello di percorso, ad esempio *.txt o A*. I caratteri jolly vengono accettati.

Un asterisco finale (*) nel parametro Path è facoltativo. Ad esempio, -Path C:\Test\Logs o -Path C:\Test\Logs\*. Se viene incluso un asterisco finale (*), il comando ricorre nelle sottodirectory del parametro Path . Senza l'asterisco (*), viene visualizzato il contenuto del parametro Path. Altri dettagli sono inclusi nell'esempio 5 e nella sezione Note.

I parametri Includi e Exclude possono essere usati insieme. Tuttavia, le esclusioni vengono applicate dopo le inclusioni, che possono influire sull'output finale.

Tipo:String[]
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:True

-ExpiringInDays

Nota

Questo parametro è disponibile solo nel provider certificato .

Specifica che il cmdlet deve restituire solo i certificati in scadenza o prima del numero di giorni specificato. Un valore pari a zero (0) ottiene i certificati scaduti.

Questo parametro è stato reintrodotto in PowerShell 7.1

Tipo:Int32
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-File

Nota

Questo parametro è disponibile solo nel provider FileSystem.

Per ottenere un elenco di file, usare il parametro file. È possibile usare il parametro Recurse con File.

Tipo:SwitchParameter
Alias:af
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Filter

Specifica un filtro per qualificare il parametro Path. Il provider di FileSystem è l'unico provider di PowerShell installato che supporta i filtri. I filtri sono più efficienti rispetto ad altri parametri. Il provider applica un filtro quando il cmdlet ottiene gli oggetti, anziché far sì che PowerShell li filtri dopo il recupero. La stringa di filtro viene passata all'API .NET per enumerare i file. L'API supporta solo i caratteri jolly * e ?.

Tipo:String
Posizione:1
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:True

Nota

Questo parametro è disponibile solo nel provider FileSystem.

Per impostazione predefinita, il cmdlet Get-ChildItem visualizza i collegamenti simbolici alle directory trovate durante la ricorsione, ma non si ripete in tali directory. Usare il parametro FollowSymlink per cercare le directory destinate a tali collegamenti simbolici. Il FollowSymlink è un parametro dinamico ed è supportato solo nel provider di FileSystem.

Questo parametro è stato introdotto in PowerShell 6.0.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Force

Consente al cmdlet di ottenere elementi a cui altrimenti non è possibile accedere dall'utente, ad esempio file nascosti o di sistema. Il parametro Force non sostituisce le restrizioni di sicurezza. L'implementazione varia in base al provider. Per ulteriori informazioni, consultare about_Providers.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Hidden

Nota

Questo parametro è disponibile solo nel provider FileSystem.

Per ottenere solo elementi nascosti, utilizzare il parametro Hidden o il parametro Attributes con la proprietà Hidden. Per impostazione predefinita, Get-ChildItem non visualizza elementi nascosti. Usare il parametro Force per ottenere elementi nascosti.

Tipo:SwitchParameter
Alias:ah, h
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Include

Specifica una matrice di uno o più modelli di stringa da associare quando il cmdlet ottiene elementi figlio. Qualsiasi elemento corrispondente viene incluso nell'output. Immettere un elemento o un modello di percorso, ad esempio "*.txt". Sono consentiti caratteri jolly. Il parametro Includi è effettivo solo quando il comando include il contenuto di un elemento, ad esempio C:\Windows\*, in cui il carattere jolly specifica il contenuto della directory C:\Windows.

I parametri Includi e Exclude possono essere usati insieme. Tuttavia, le esclusioni vengono applicate dopo le inclusioni, che possono influire sull'output finale.

Tipo:String[]
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:True

-LiteralPath

Specifica un percorso per una o più posizioni. Il valore di LiteralPath viene usato esattamente come viene digitato. Nessun carattere viene interpretato come caratteri jolly. Se il percorso include caratteri di escape, racchiuderlo tra virgolette singole. Le virgolette singole indicano a PowerShell di non interpretare alcun carattere come sequenze di escape.

Per altre informazioni, vedere about_Quoting_Rules.

Tipo:String[]
Alias:PSPath, LP
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-Name

Ottiene solo i nomi degli elementi nella posizione. L'output è un oggetto stringa che può essere inviato lungo la pipeline verso altri comandi. I nomi restituiti sono relativi al valore del parametro Path.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Path

Specifica un percorso per una o più posizioni. Se non specificato, il percorso predefinito è la directory corrente (.). I caratteri jolly vengono accettati. Prestare attenzione quando si usa il parametro Path con il parametro Recurse. Per altre informazioni, vedere la sezione NOTES di questo articolo.

Tipo:String[]
Posizione:0
Valore predefinito:Current directory
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly:True

-ReadOnly

Nota

Questo parametro è disponibile solo nel provider FileSystem.

Per ottenere solo elementi di sola lettura, utilizzare il parametro ReadOnly o il parametro Attributes o la proprietà ReadOnly.

Tipo:SwitchParameter
Alias:ar
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Recurse

Ottiene gli elementi nelle posizioni specificate e in tutti gli elementi figli delle stesse posizioni.

Tipo:SwitchParameter
Alias:s, r
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-SSLServerAuthentication

Nota

Questo parametro è disponibile solo nel provider certificato .

Per ottenere un elenco di certificati con Server Authentication nel valore della proprietà EnhancedKeyUsageList, usare il parametro SSLServerAuthentication.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-System

Nota

Questo parametro è disponibile solo nel provider FileSystem.

Ottiene solo file di sistema e directory. Per ottenere solo file e cartelle di sistema, utilizzare il parametro Sistema o il parametro Attributi o la proprietà Sistema.

Tipo:SwitchParameter
Alias:as
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

String

È possibile inviare tramite pipe una stringa contenente un percorso a questo cmdlet.

Output

AliasInfo

Il cmdlet restituisce questo tipo quando si accede all'unità Alias:.

X509Certificate2

Il cmdlet restituisce questi tipi quando si accede all'unità Cert:.

DictionaryEntry

Il cmdlet restituisce questo tipo quando si accede all'unità Env:.

FileInfo

Il cmdlet restituisce questi tipi quando si accede alle unità FileSystem.

FilterInfo

Il cmdlet restituisce questi tipi quando si accede alle unità Function:.

RegistryKey

Il cmdlet restituisce questo tipo quando si accede alle unità del Registro di sistema.

PSVariable

Il cmdlet restituisce questo tipo quando si accede alle unità Variable:.

WSManConfigLeafElement

Il cmdlet restituisce questi tipi quando si accede alle unità WSMan:.

String

Quando si usa il parametro Name, questo cmdlet restituisce i nomi degli oggetti come stringhe.

Note

PowerShell include gli alias seguenti per Get-ChildItem:

  • Tutte le piattaforme:
    • dir, gci
  • Windows:
    • ls

comportamento di ricorsione con il parametro Path:

Quando si usa Get-ChildItem -Recurse con il parametro Path, il cmdlet cerca l'ultimo componente del percorso indipendentemente dal fatto che si tratti di un modello con caratteri jolly o di un nome letterale.

  • Se l'ultimo componente di percorso corrisponde a una sottodirectory immediata esistente della directory di destinazione, il cmdlet esegue l'enumerazione ricorsiva nella directory corrispondente.
  • Se l'ultimo componente del percorso non corrisponde a una sottodirectory immediata esistente della directory di destinazione, il cmdlet cerca in modo ricorsivo nella gerarchia della directory di destinazione gli elementi che corrispondono all'ultimo componente del percorso

Quando si usa Get-ChildItem -Recurse con i parametri Path e Name, il comportamento cambia. Il comando cerca l'ultimo componente di percorso tra gli elementi figlio immediati della directory di destinazione.

  • Se esiste una corrispondenza tra gli elementi figlio immediati, il cmdlet esegue l'enumerazione ricorsiva sugli elementi corrispondenti. La corrispondenza con caratteri jolly viene eseguita una sola volta, al livello superiore della directory di destinazione. I risultati vengono elaborati come se fossero stati passati singolarmente al parametro LiteralPath.
  • Se l'ultimo componente del percorso non corrisponde ad alcun elemento al livello superiore, si verifica un errore.

È consigliabile evitare di usare il parametro Path con il parametro Recurse. Per ottenere risultati ottimali:

  • Usare LiteralPath per specificare la directory di destinazione per evitare di attivare una ricerca ricorsiva per l'ultimo componente del percorso.
  • Usare Filter o Includi parametri per specificare i modelli jolly o letterali da cercare in ogni livello della gerarchia della directory di destinazione.