Condividi tramite


Get-ChildItem

Ottiene gli elementi e gli elementi figlio in uno o più percorsi specificati,

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>]
Get-ChildItem
   [[-Path] <string[]>]
   [[-Filter] <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Recurse]
   [-Depth <uint>]
   [-Force]
   [-Name]
   [-CodeSigningCert]
   [-DocumentEncryptionCert]
   [-SSLServerAuthentication]
   [-DnsName <string>]
   [-Eku <string[]>]
   [-ExpiringInDays <int>]
   [<CommonParameters>]
Get-ChildItem
   [[-Filter] <string>]
   -LiteralPath <string[]>
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Recurse]
   [-Depth <uint>]
   [-Force]
   [-Name]
   [-CodeSigningCert]
   [-DocumentEncryptionCert]
   [-SSLServerAuthentication]
   [-DnsName <string>]
   [-Eku <string[]>]
   [-ExpiringInDays <int>]
   [<CommonParameters>]
Get-ChildItem
   [[-Path] <string[]>]
   [[-Filter] <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Recurse]
   [-Depth <uint>]
   [-Force]
   [-Name]
   [-Attributes <FlagsExpression[FileAttributes]>]
   [-FollowSymlink]
   [-Directory]
   [-File]
   [-Hidden]
   [-ReadOnly]
   [-System]
   [<CommonParameters>]
Get-ChildItem
   [[-Filter] <string>]
   -LiteralPath <string[]>
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Recurse]
   [-Depth <uint>]
   [-Force]
   [-Name]
   [-Attributes <FlagsExpression[FileAttributes]>]
   [-FollowSymlink]
   [-Directory]
   [-File]
   [-Hidden]
   [-ReadOnly]
   [-System]
   [<CommonParameters>]

Descrizione

Il Get-ChildItem cmdlet ottiene gli elementi in una o più posizioni specificate. Se l'elemento è un contenitore, ottiene gli elementi all'interno del contenitore, detti anche elementi figlio. È possibile usare il parametro Recurse per ottenere gli 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 Get-ChildItem comando include i parametri Depth o Recurse, le directory vuote non vengono incluse nell'output.

I percorsi vengono esposti ai Get-ChildItem provider di PowerShell. Un percorso può essere una directory del file system, un hive del Registro di sistema o un archivio certificati. Alcuni parametri sono disponibili solo per un provider specifico. Per altre informazioni, vedere about_Providers.

Esempio

Esempio 1: Ottenere 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 Get-ChildItem cmdlet 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: Ottenere i nomi degli elementi figlio in una directory

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

Il Get-ChildItem cmdlet usa il parametro Path per specificare la directory C:\Test. Il parametro Name 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: Ottenere elementi figlio nella directory corrente e nelle sottodirectory

In questo esempio vengono visualizzati .txt i 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 Get-ChildItem cmdlet usa il parametro Path per specificare C:\Test\*.txt. Path usa il carattere jolly asterisco (*) per specificare tutti i file con l'estensione .txtdel nome file . Il parametro Recurse cerca nella directory Path e nelle relative sottodirectory, come illustrato nelle intestazioni Directory: . Il parametro Force visualizza i file nascosti, hiddenfile.txt ad esempio con una modalità h.

Esempio 4: Ottenere elementi figlio usando il parametro Include

In questo esempio Get-ChildItem viene usato il parametro Include 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 Get-ChildItem cmdlet usa il parametro Path per specificare la directory C:\Test. Il parametro Path include un carattere jolly asterisco finale (*) per specificare il contenuto della directory. Il parametro Include usa un carattere jolly asterisco (*) per specificare tutti i file con l'estensione .txtdel nome file .

Quando si usa il parametro Include , il parametro Path richiede un carattere jolly 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 usando 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 Get-ChildItem cmdlet usa il parametro Path per specificare la directory C:\Test\Logs. Il parametro Exclude usa il carattere jolly asterisco (*) per specificare eventuali file o 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 . Le eccezioni sono nomi file o sottodirectory che corrispondono al valore del parametro Exclude .
  • Se un asterisco finale (*) viene incluso nel parametro Path , il comando si ripete nelle sottodirectory del parametro Path . Le eccezioni sono nomi file o sottodirectory che corrispondono al valore del parametro Exclude .
  • Se il parametro Recurse viene aggiunto al comando, l'output della ricorsione è lo stesso indipendentemente dal fatto che il parametro Path includa 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 HKLM:\HARDWAREdel Registro di sistema . 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 HKLM:\HARDWARE Registro di sistema. Il parametro Exclude indica Get-ChildItem di non restituire alcuna sottochiave che inizia con D*. Attualmente, il parametro Exclude funziona solo sulle sottochiavi, non sulle proprietà dell'elemento.

Esempio 7: Ottenere tutti i certificati con l'autorità di firma del codice

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

Il Get-ChildItem cmdlet usa il parametro Path per specificare il provider di certificati con l'unità Cert: . Il parametro Recurse esegue la ricerca nella directory specificata da Path e nelle 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 Get-ChildItem cmdlet 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 i due livelli di sottodirectory.

Esempio 9: Ottenere informazioni sul collegamento rigido

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, fornisce Get-ChildItem 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 è le autorizzazioni di file rappresentate in un sistema Unix
  • L'utente è il proprietario del file
  • Il gruppo è il proprietario del gruppo
  • Le dimensioni sono le dimensioni 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 dir comando 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 dalla proprietà LinkTarget dell'oggetto file system restituito da Get-ChildItem e vengono visualizzate 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

Esempio 12: Ottenere la destinazione del collegamento per un punto reparse AppX

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 controllo 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 i file e le cartelle con gli attributi specificati. Questo parametro supporta tutti gli attributi e consente di specificarne complesse combinazioni.

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 Attributes . In alternativa, i parametri Directory, File, Hidden, ReadOnly e System.

Il parametro Attributes supporta le proprietà seguenti:

  • Archiviazione
  • Compressed
  • Dispositivo
  • Directory
  • Crittografata
  • Hidden
  • IntegrityStream
  • Normal
  • NoScrubData
  • NotContentIndexed
  • Offline
  • ReadOnly
  • ReparsePoint
  • SparseFile
  • Di sistema
  • Temporanea

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 di certificati .

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

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 visualizzazione 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, usare 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 di certificati .

Specifica un nome di dominio o un modello di nome che deve corrispondere alla proprietà DNSNameList dei certificati che ottiene il cmdlet. 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 di certificati .

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

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 di certificati .

Specifica il testo o un criterio di testo da associare alla proprietà EnhancedKeyUsageList dei certificati che ottiene il cmdlet. 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 si ripete 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 Include ed 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 di certificati .

Specifica che il cmdlet deve restituire solo i certificati in scadenza o prima del numero di giorni specificato. Un valore 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 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é filtrare gli oggetti di PowerShell 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 Get-ChildItem cmdlet visualizza i collegamenti simbolici alle directory rilevate durante la ricorsione, ma non si ripete in tali directory. Usare il parametro FollowSymlink per eseguire ricerche nelle directory destinate a tali collegamenti simbolici. FollowSymlink è un parametro dinamico ed è supportato solo nel provider 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 a seconda del provider. Per altre informazioni, vedere 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, usare 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". I caratteri jolly sono consentiti. Il parametro Include è effettivo solo quando il comando include il contenuto di un elemento, ad esempio C:\Windows\*, dove il carattere jolly specifica il contenuto della C:\Windows directory.

I parametri Include ed 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 di una o più posizioni. Il valore di LiteralPath viene usato esattamente come viene digitato. Nessun carattere viene interpretato come carattere 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 alla pipeline ad 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 di una o più posizioni. I caratteri jolly vengono accettati. Il percorso predefinito è la directory corrente (.).

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 la proprietà ReadOnly del parametro Attributes.

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 nei percorsi specificati e in tutti gli elementi figlio dei percorsi.

Tipo:SwitchParameter
Alias:s
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 di certificati .

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

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 la proprietà System parametro o Attributes parameter System .

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: .

X509StoreLocation

X509Store

X509Certificate2

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

DictionaryEntry

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

DirectoryInfo

FileInfo

Il cmdlet restituisce questi tipi quando si accede alle unità del file system.

FunctionInfo

FilterInfo

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

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 Variable: unità.

WSManConfigContainerElement

WSManConfigLeafElement

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

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

Get-ChildItem non ottiene gli elementi nascosti per impostazione predefinita. Per ottenere elementi nascosti, usare il parametro Force .

Il Get-ChildItem cmdlet è progettato per lavorare con i dati esposti da qualsiasi provider. Per elencare i provider disponibili nella sessione, digitare Get-PSProvider. Per altre informazioni, vedere about_Providers.