Delen via


Get-ChildItem

Hiermee haalt u de items en onderliggende items op een of meer opgegeven locaties op.

Syntax

Get-ChildItem
   [[-Path] <string[]>]
   [[-Filter] <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Recurse]
   [-Depth <uint32>]
   [-Force]
   [-Name]
   [-UseTransaction]
   [-Attributes <FlagsExpression[FileAttributes]>]
   [-Directory]
   [-File]
   [-Hidden]
   [-ReadOnly]
   [-System]
   [<CommonParameters>]
Get-ChildItem
   [[-Filter] <string>]
   -LiteralPath <string[]>
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Recurse]
   [-Depth <uint32>]
   [-Force]
   [-Name]
   [-UseTransaction]
   [-Attributes <FlagsExpression[FileAttributes]>]
   [-Directory]
   [-File]
   [-Hidden]
   [-ReadOnly]
   [-System]
   [<CommonParameters>]

Description

De Get-ChildItem cmdlet haalt de items op een of meer opgegeven locaties op. Als het item een container is, worden de items in de container, ook wel onderliggende items genoemd, opgevraagd. U kunt de parameter Recurse gebruiken om items op te halen in alle onderliggende containers en de parameter Depth gebruiken om het aantal niveaus te beperken dat moet worden recurse.

Get-ChildItem geeft geen lege mappen weer. Wanneer een Get-ChildItem opdracht de parameters Diepte of Recurse bevat, worden lege mappen niet opgenomen in de uitvoer.

Locaties worden weergegeven Get-ChildItem door PowerShell-providers. Een locatie kan een bestandssysteemmap, registercomponent of een certificaatarchief zijn. Zie about_Providers voor meer informatie.

Voorbeelden

Voorbeeld 1: onderliggende items ophalen uit een bestandssysteemmap

In dit voorbeeld worden de onderliggende items opgehaald uit een bestandssysteemmap. De bestandsnamen en submappen worden weergegeven. Voor lege locaties retourneert de opdracht geen uitvoer en keert terug naar de PowerShell-prompt.

De Get-ChildItem cmdlet gebruikt de parameter Path om de map C:\Testop te geven. Get-ChildItem geeft de bestanden en mappen weer in de PowerShell-console.

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

Standaard worden Get-ChildItem de modus (kenmerken), LastWriteTime, bestandsgrootte (lengte) en de naam van het item weergegeven. De letters in de eigenschap Mode kunnen als volgt worden gesynchroniseerd:

  • l (koppeling)
  • d (map)
  • a (archief)
  • r (alleen-lezen)
  • h (verborgen)
  • s (systeem).

Zie about_Filesystem_Provider voor meer informatie over de modusvlagmen.

Voorbeeld 2: namen van onderliggende items ophalen in een map

Met deze opdracht worden alleen de namen van items in een map weergegeven.

De Get-ChildItem cmdlet gebruikt de parameter Path om de map C:\Testop te geven. De parameter Name retourneert alleen de bestands- of mapnamen van het opgegeven pad.

Get-ChildItem -Path C:\Test -Name

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

Voorbeeld 3: Onderliggende items ophalen in de huidige map en submappen

In dit voorbeeld worden .txt bestanden weergegeven die zich in de huidige map en de bijbehorende submappen bevinden.

Get-ChildItem -Path C:\Test\*.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

De Get-ChildItem cmdlet gebruikt de parameter Path om op te geven C:\Test\*.txt. Pad gebruikt het jokerteken sterretje (*) om alle bestanden met de bestandsnaamextensie .txtop te geven. De parameter Recurse doorzoekt de padmap de submappen, zoals wordt weergegeven in de koppen Directory: . De parameter Force geeft verborgen bestanden weer, zoals hiddenfile.txt met de modus h.

Voorbeeld 4: onderliggende items ophalen met behulp van de parameter Include

In dit voorbeeld Get-ChildItem wordt de parameter Include gebruikt om specifieke items te zoeken in de map die is opgegeven door de parameter Path .

# When using the -Include parameter, if you do not 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

De Get-ChildItem cmdlet gebruikt de parameter Path om de map C:\Test op te geven. De path parameter bevat een afsluitend sterretje (*) jokerteken om de inhoud van de map op te geven. De include parameter gebruikt een sterretje (*) jokerteken om alle bestanden op te geven met de bestandsnaamextensie .txt.

Wanneer de parameter Include wordt gebruikt, heeft de padparameter een jokerteken (*) nodig om de inhoud van de map op te geven. Bijvoorbeeld -Path C:\Test\*.

  • Als de parameter Recurse wordt toegevoegd aan de opdracht, is het afsluitende sterretje (*) in de path-parameter optioneel. Met de parameter Recurse worden items opgehaald uit de padmap en de bijbehorende submappen. Bijvoorbeeld: -Path C:\Test\ -Recurse -Include *.txt
  • Als een afsluitend sterretje (*) niet is opgenomen in de path-parameter , retourneert de opdracht geen uitvoer en keert terug naar de PowerShell-prompt. Bijvoorbeeld -Path C:\Test\.

Voorbeeld 5: Onderliggende items ophalen met behulp van de parameter Exclude

De uitvoer van het voorbeeld toont de inhoud van de map C:\Test\Logs. De uitvoer is een verwijzing naar de andere opdrachten die gebruikmaken van de parameters Exclude en 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

De Get-ChildItem cmdlet gebruikt de parameter Path om de map C:\Test\Logsop te geven. De parameter Exclude gebruikt het jokerteken sterretje (*) om bestanden of mappen op te geven die beginnen met A of een die zijn uitgesloten van de uitvoer.

Wanneer de parameter Exclude wordt gebruikt, is een afsluitend sterretje (*) in de path-parameter optioneel. Bijvoorbeeld -Path C:\Test\Logs of -Path C:\Test\Logs\*.

  • Als een afsluitend sterretje (*) niet is opgenomen in de path-parameter , wordt de inhoud van de path parameter weergegeven. De uitzonderingen zijn bestandsnamen of submappen die overeenkomen met de waarde van de exclude-parameter .
  • Als een afsluitend sterretje (*) is opgenomen in de path-parameter , wordt de opdracht opnieuw in de submappen van de padparameter . De uitzonderingen zijn bestandsnamen of submappen die overeenkomen met de waarde van de exclude-parameter .
  • Als de parameter Recurse wordt toegevoegd aan de opdracht, is de recursie-uitvoer hetzelfde, ongeacht of de path-parameter een afsluitend sterretje (*) bevat.

Voorbeeld 6: De registersleutels ophalen uit een registercomponent

Met deze opdracht worden alle registersleutels uit de HKEY_LOCAL_MACHINE\HARDWARE registersleutel opgehaald.

Get-ChildItem gebruikt de parameter Path om de registersleutel HKLM:\HARDWAREop te geven. Het pad van de Hive en het hoogste niveau van registersleutels worden weergegeven in de PowerShell-console.

Zie about_Registry_Provider voor meer informatie.

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

Met de eerste opdracht wordt de inhoud van de HKLM:\HARDWARE registersleutel weergegeven. De parameter Exclude geeft aan Get-ChildItem dat er geen subsleutels moeten worden geretourneerd die beginnen met D*. Op dit moment werkt de parameter Exclude alleen op subsleutels, niet op itemeigenschappen.

Voorbeeld 7: Alle certificaten ophalen met de instantie voor ondertekening van code

Met deze opdracht wordt elk certificaat in het PowerShell-station Cert: met de machtiging voor het ondertekenen van code opgeslagen.

De Get-ChildItem cmdlet gebruikt de path parameter om de Cert: provider op te geven. De parameter Recurse doorzoekt de map die is opgegeven door Pad en de bijbehorende submappen. De parameter CodeSigningCert haalt alleen certificaten op met een machtiging voor het ondertekenen van code.

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

Zie voor meer informatie over de certificaatprovider en het station Certificaat: about_Certificate_Provider.

Voorbeeld 8: Items ophalen met behulp van de parameter Diepte

Met deze opdracht worden de items in een map en de bijbehorende submappen weergegeven. De parameter Depth bepaalt het aantal submapniveaus dat moet worden opgenomen in de recursie. Lege mappen worden uitgesloten van de uitvoer.

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

De Get-ChildItem cmdlet gebruikt de padparameter om C:\Parent op te geven. De parameter Diepte geeft twee recursieniveaus op. Get-ChildItem geeft de inhoud weer van de map die is opgegeven door de path parameter en de twee niveaus van submappen.

Parameters

-Attributes

Hiermee worden bestanden en mappen met de opgegeven kenmerken opgehaald. Met deze parameter worden alle kenmerken ondersteund en kunt u complexe combinaties van kenmerken opgeven.

Als u bijvoorbeeld niet-systeembestanden (geen mappen) wilt ophalen die zijn versleuteld of gecomprimeerd, typt u:

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

Als u bestanden en mappen met veelgebruikte kenmerken wilt zoeken, gebruikt u de parameter Kenmerken . Of de parameters Directory, File, Hidden, ReadOnly en System.

De parameter Kenmerken ondersteunt de volgende eigenschappen:

  • Archiveren
  • Gecomprimeerd
  • Apparaat
  • Directory
  • Versleuteld
  • Verborgen
  • IntegrityStream
  • Normaal
  • NoScrubData
  • NotContentIndexed
  • Offline
  • Readonly
  • ReparsePoint
  • SparseFile
  • Systeem
  • Tijdelijk

Zie de opsomming FileAttributes voor een beschrijving van deze kenmerken.

Gebruik de volgende operators om kenmerken te combineren:

  • ! (NIET)
  • + (EN)
  • , (OF)

Gebruik geen spaties tussen een operator en het bijbehorende kenmerk. Spaties worden geaccepteerd na komma's.

Gebruik voor algemene kenmerken de volgende afkortingen:

  • D (Map)
  • H (Verborgen)
  • R (Alleen-lezen)
  • S (Systeem)
Type:FlagsExpression<T>[FileAttributes]
Accepted values:Archive, Compressed, Device, Directory, Encrypted, Hidden, IntegrityStream, Normal, NoScrubData, NotContentIndexed, Offline, ReadOnly, ReparsePoint, SparseFile, System, Temporary
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Depth

Deze parameter is toegevoegd in PowerShell 5.0 en stelt u in staat om de diepte van recursie te bepalen. Get-ChildItem Standaard wordt de inhoud van de bovenliggende map weergegeven. De parameter Depth bepaalt het aantal submapniveaus dat is opgenomen in de recursie en geeft de inhoud weer.

Bevat bijvoorbeeld Depth 2 de map van de parameter Path , het eerste niveau van submappen en het tweede niveau van submappen. Standaard worden mapnamen en bestandsnamen opgenomen in de uitvoer.

Notitie

Op een Windows-computer van PowerShell of cmd.exekunt u een grafische weergave van een mapstructuur weergeven met de opdracht tree.com .

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Directory

Als u een lijst met directory's wilt ophalen, gebruikt u de parameter Directory of de parameter Attributes met de eigenschap Directory . U kunt de parameter Recurse gebruiken met Directory.

Type:SwitchParameter
Aliases:ad, d
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Exclude

Hiermee geeft u, als een tekenreeksmatrix, een eigenschap of eigenschap op die door deze cmdlet wordt uitgesloten van de bewerking. De waarde van deze parameter komt in aanmerking voor de path-parameter . Voer een padelement of -patroon in, zoals *.txt of A*. Jokertekens worden geaccepteerd.

Een afsluitend sterretje (*) in de parameter Path is optioneel. Bijvoorbeeld -Path C:\Test\Logs of -Path C:\Test\Logs\*. Als een afsluitend sterretje (*) is opgenomen, wordt de opdracht teruggeleid naar de submappen van de parameter Path . Zonder het sterretje (*) wordt de inhoud van de parameter Path weergegeven. Meer informatie vindt u in Voorbeeld 5 en de sectie Notities.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-File

Gebruik de parameter Bestand om een lijst met bestanden op te halen. U kunt de recurse-parameter gebruiken met Bestand.

Type:SwitchParameter
Aliases:af
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Filter

Hiermee geeft u een filter om de path parameter te kwalificeren. De Bestandssysteemprovider is de enige geïnstalleerde PowerShell-provider die het gebruik van filters ondersteunt. Filters zijn efficiënter dan andere parameters, omdat de provider ze toepast wanneer de cmdlet de objecten ophaalt in plaats van dat PowerShell de objecten nadat ze zijn opgehaald, moet filteren. De filtertekenreeks wordt doorgegeven aan de .NET-API om bestanden op te sommen. Deze API ondersteunt * alleen en ? jokertekens.

Type:String
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Force

Hiermee kan de cmdlet items ophalen die anders niet door de gebruiker kunnen worden geopend, zoals verborgen bestanden of systeembestanden. De parameter Force overschrijft de beveiligingsbeperkingen niet. De implementatie verschilt per provider. Zie about_Providers voor meer informatie.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Hidden

Als u alleen verborgen items wilt ophalen, gebruikt u de parameter Verborgen of de parameter Kenmerken met de eigenschap Verborgen . Standaard Get-ChildItem worden verborgen items niet weergegeven. Gebruik de parameter Force om verborgen items op te halen.

Type:SwitchParameter
Aliases:ah, h
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Include

Hiermee geeft u, als een tekenreeksmatrix, een item of items op die deze cmdlet in de bewerking opneemt. De waarde van deze parameter komt in aanmerking voor de path-parameter . Voer een padelement of -patroon in, zoals "*.txt". Jokertekens zijn toegestaan. De parameter Include is alleen van kracht wanneer de opdracht de inhoud van een item bevat, zoals C:\Windows\*, waarbij het jokerteken de inhoud van de C:\Windows map aangeeft.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-LiteralPath

Hiermee geeft u een pad naar een of meer locaties. De waarde van LiteralPath wordt precies gebruikt zoals deze wordt getypt. Geen tekens worden geïnterpreteerd als jokertekens. Als het pad escape-tekens bevat, plaatst u het tussen enkele aanhalingstekens. Enkele aanhalingstekens geven PowerShell aan dat geen tekens als escape-reeksen worden geïnterpreteerd.

Zie about_Quoting_Rules voor meer informatie.

Type:String[]
Aliases:PSPath
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

Hiermee haalt u alleen de namen van de items op de locatie op. De uitvoer is een tekenreeksobject dat door de pijplijn naar andere opdrachten kan worden verzonden. Jokertekens zijn toegestaan.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Path

Hiermee geeft u een pad naar een of meer locaties. Jokertekens worden geaccepteerd. De standaardlocatie is de huidige map (.).

Type:String[]
Position:0
Default value:Current directory
Required:False
Accept pipeline input:True
Accept wildcard characters:True

-ReadOnly

Als u alleen-lezenitems wilt ophalen, gebruikt u de parameter ReadOnly of de eigenschap ReadOnly van de parameter Attributes.

Type:SwitchParameter
Aliases:ar
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Recurse

Hiermee haalt u de items op de opgegeven locaties en in alle onderliggende items van de locaties op.

Type:SwitchParameter
Aliases:s
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-System

Hiermee haalt u alleen systeembestanden en mappen op. Als u alleen systeembestanden en mappen wilt ophalen, gebruikt u de systeemparameter of de parameter Systeemeigenschap Kenmerken.

Type:SwitchParameter
Aliases:as
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseTransaction

Hiermee wordt de opdracht opgenomen in de actieve transactie. Deze parameter is alleen geldig wanneer een transactie wordt uitgevoerd. Zie about_Transactions voor meer informatie.

Type:SwitchParameter
Aliases:usetx
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Invoerwaarden

String

U kunt een tekenreeks die een pad bevat doorsnijden naar Get-ChildItem.

Uitvoerwaarden

Object

Het type object dat Get-ChildItem retourneert, wordt bepaald door de objecten in het pad van het providerstation.

String

Als u de parameter Name gebruikt, Get-ChildItem worden de objectnamen geretourneerd als tekenreeksen.

Notities

  • U kunt verwijzen naar Get-ChildItem door de ingebouwde aliassen, ls, diren gci. Zie about_Aliases voor meer informatie.
  • Get-ChildItem krijgt standaard geen verborgen items. Gebruik de parameter Force om verborgen items op te halen.
  • De Get-ChildItem cmdlet is ontworpen om te werken met de gegevens die door een provider worden weergegeven. Als u de providers wilt weergeven die beschikbaar zijn in uw sessie, typt u Get-PSProvider. Zie about_Providers voor meer informatie.