Get-ChildItem

Module: Microsoft.PowerShell.Management

Krijgt de items en child items in een of meer opgegeven locaties.

Syntax

Get-ChildItem <string>] <string>] >] >] >] 
Get-ChildItem <string>] -LiteralPath <string> >] >] >] 

Description

Het cmdlet Get-ChildItemkrijgt de items in een of meer opgegeven locaties. Als het item een container is, worden de items binnen de container opgehaald, de zogenaamde child items. U kunt de parameter Recursepar gebruiken om items in alle child-containers te verkrijgen en de parameter Depth om het aantal te recurseren niveaus te beperken.

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

Locaties worden door PowerShell-aanbieders aan Get-ChildItem blootgesteld. Een locatie kan een bestandssysteemdirectory, een registerhive of een certificaatopslag zijn. Zie voor meer informatie about_Providers.

Examples

Example 1: Haal child-items op uit een bestandssysteemdirectory

Dit voorbeeld haalt de child-items op uit een bestandssysteemdirectory. De bestandsnamen en subdirectorynamen worden weergegeven. Bij lege locaties geeft het commando geen uitvoer en keert terug naar de PowerShell prompt.

Het cmdlet Get-ChildItem gebruikt de Path parameter om de directory C:\Test op te geven.Get-ChildItem geeft de bestanden en directories weer in de PowerShell console.

Get-ChildItem -Path C:\TestDirectory: C:\TestMode 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

Normaal geeft Get-ChildItem de modus (Attributes), LastWriteTime, bestandsgrootte (Length),en de Naam van het item weer. De letters in de Mode eigenschap kunnen als volgt worden geïnterpreteerd:

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

Voor meer informatie over de mode flags, zieabout_Filesystem_Provider.

Voorbeeld 2: Verkrijg namen van child items in een directory

Dit voorbeeld geeft alleen de namen van items in een directory.

Het cmdlet Get-ChildItem gebruikt de parameter Path om de directory C:\Test op te geven. DeName parameter geeft alleen de namen van bestanden of mappen in het opgegeven pad.

Get-ChildItem -Path C:\Test -NameLogsanotherfile.txtCommand.txtCreateTestFile.ps1ReadOnlyFile.txt

Voorbeeld 3: Verkrijg kind items in de huidige directory en subdirectories

Dit voorbeeld geeft .txt bestanden weer die zich in de huidige directory en de subdirectories bevinden.

Get-ChildItem -Path C:\Test\*.txt -Recurse -ForceDirectory: C:\Test\Logs\AdirectoryMode 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\BackupMode LastWriteTime Length Name---- ------------- ------ -----a---- 2/12/2019 16:16 20 ATextFile.txt-a---- 2/12/2019 15:50 20 LogFile3.txt Directory: C:\Test\LogsMode 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:\TestMode 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

Het Get-ChildItem cmdlet gebruikt de Path parameter om C:\Test\*.txt op te geven. Path gebruikt het jokertekenasterisk (*) om alle bestanden met de bestandsnaamextensie .txt op te geven. De parameter Recurseparameter doorzoekt de map Path en zijn submappen, zoals aangegeven in de kopjes Directory:. De Force parameter geeft verborgen bestanden weer, zoals hiddenfile.txt die een modeof h hebben.

Exemplaar 4: Haal child items op met de Include parameter

In dit voorbeeld gebruikt Get-ChildItem de Include parameter om specifieke items te vinden uit de directory die is opgegeven door de Path parameter.

# 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 *.txtGet-ChildItem -Path C:\Test\* -Include *.txtDirectory: C:\TestMode 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

Het Get-ChildItem cmdlet gebruikt de Path parameter om de directory C:test op te geven. De parameter Pad bevat een jokerteken achteraan (*) om de inhoud van de directory op te geven.De parameter Include gebruikt een jokerteken achteraan (*) om alle bestanden op te geven met de bestandsnaamextensie .txt.

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

  • Als de Recurse parameter is toegevoegd aan de opdracht, is de laatste asterisk (*) in de Path parameter optioneel. De parameter Recurse haalt items uit de Path-map en zijn submappen. Bijvoorbeeld -Path C:\Test\ -Recurse -Include *.txt
  • Als de laatste asterisk (*) niet is opgenomen in de Path-parameter, geeft de opdracht geen uitvoer en keert terug naar de PowerShell-prompt. Bijvoorbeeld -Path C:\Test\.

Voorbeeld 5: Kinditems ophalen met de parameter Uitsluiten

De uitvoer van het voorbeeld toont de inhoud van de directory C:TestLogs. De uitvoer is een referentie voor de andere commando’s die gebruik maken van de Exclude en Recurse parameters.

Get-ChildItem -Path C:\Test\LogsDirectory: C:\Test\LogsMode LastWriteTime Length Name---- ------------- ------ ----d----- 2/15/2019 13:21 Adirectoryd----- 2/15/2019 08:28 AnEmptyDirectoryd----- 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.logGet-ChildItem -Path C:\Test\Logs\* -Exclude A*Directory: C:\Test\LogsMode 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

Het cmdlet Get-ChildItem gebruikt de Path parameter om de directory C:\Test\Logs op te geven.De Exclude parameter gebruikt het jokerteken (*) om aan te geven dat alle bestanden of directories die beginnen met een A of a worden uitgesloten van de uitvoer.

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

  • Als een sterretje (*) achteraan niet is opgenomen in de Pad parameter, wordt de inhoud van de Pad parameter weergegeven. Uitzonderingen zijn bestandsnamen of namen van subdirectories die overeenkomen met de waarde van de parameterExclude.
  • Als een sterretje (*) achteraan in de Path-parameter staat, zoekt de opdracht in de subdirectories van de Path-parameter. Uitzonderingen zijn bestandsnamen of namen van submappen die overeenkomen met de waarde van de parameter Uitsluiten.
  • Als de parameter Recurse aan de opdracht is toegevoegd, is de recursie-uitvoer hetzelfde, ongeacht of de parameter Pad een sterretje (*) achteraan bevat of niet.

Voorbeeld 6: haal de registersleutels op uit een register-hive

Dit voorbeeld haalt alle registersleutels op uit HKEY_LOCAL_MACHINE\HARDWARE.

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

Voor meer informatie, zie about_Registry_Provider.

Get-ChildItem -Path HKLM:\HARDWAREHive: HKEY_LOCAL_MACHINE\HARDWAREName Property---- --------ACPIDESCRIPTIONDEVICEMAPRESOURCEMAPUEFIGet-ChildItem -Path HKLM:\HARDWARE -Exclude D*Hive: HKEY_LOCAL_MACHINE\HARDWAREName Property---- --------ACPIRESOURCEMAP

De eerste opdracht toont de inhoud van de registersleutel HKLM:\HARDWARE. De parameter Uitsluiten zegt Get-ChildItem geen subsleutels te retourneren die beginnen met D*. Momenteel werkt de parameter Uitsluiten alleen op subsleutels, niet op itemeigenschappen.

Voorbeeld 7: Alle certificaten ophalen met code-ondertekeningsbevoegdheid

Dit voorbeeld haalt elk certificaat op in het PowerShell Cert: station dat code-ondertekeningsbevoegdheid heeft.

Het Get-ChildItem cmdlet gebruikt de parameter Pad om de Cert: provider op te geven. De parameterRecurse doorzoekt de door Path opgegeven directory en de submappen daarvan. De parameterCodeSigningCert haalt alleen certificaten op die code-ondertekeningsbevoegdheid hebben.

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

Voor meer informatie over de Certificate provider en het Cert: station, zie about_Certificate_Provider.

Voorbeeld 8: Items ophalen met de Depth parameter

Dit voorbeeld geeft de items in een directory en de subdirectories weer. De diepteparameter bepaalt het aantal subdirectory-niveaus dat in de recursie wordt opgenomen. Lege mappen worden niet meegenomen in de uitvoer.

Get-ChildItem -Path C:\Parent -Depth 2Directory: C:\ParentMode LastWriteTime Length Name---- ------------- ------ ----d----- 2/14/2019 10:24 SubDir_Level1-a---- 2/13/2019 08:55 26 file.txt Directory: C:\Parent\SubDir_Level1Mode 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_Level2Mode LastWriteTime Length Name---- ------------- ------ ----d----- 2/14/2019 10:22 SubDir_Level3-a---- 2/13/2019 08:55 26 file.txt

Het cmdlet Get-ChildItem gebruikt de Path parameter om C:-Parent op te geven. De Depth parameter specificeert twee niveaus van recursie. Get-ChildItem geeft de inhoud weer van de directory die wordt gespecificeerd door de Path parameter en de twee niveaus van subdirectories.

Voorbeeld 9: Het verkrijgen van hard link informatie

In PowerShell 6.2, werd een alternatieve weergave toegevoegd om hard link informatie te verkrijgen.

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

Voorbeeld 10: Uitvoer voor niet-Windows besturingssystemen

In PowerShell 7.1 op Unix-systemen levert de Get-ChildItem Unix-achtige uitvoer:

PS> Get-ChildItem /etc/r*Directory: /etcUnixMode 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.netbootlrwxr-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

De nieuwe eigenschappen die nu deel uitmaken van de uitvoer zijn:

  • UnixMode is de bestandspermissies zoals weergegeven op een Unix-systeem
  • User is de bestandseigenaar
  • Group is de groepseigenaar
  • Size is de grootte van het bestand of de directory zoals weergegeven op een Unix-systeem

Note

Deze functie werd verplaatst van experimenteel naar mainstream in PowerShell 7.1.

Parameters

-Attributen

Haalt bestanden en mappen op met de opgegeven attributen. Deze parameter ondersteunt alle attributen en stelt u in staat complexe combinaties van attributen op te geven.

Voor het verkrijgen van niet-systeem bestanden (geen mappen) die gecodeerd of gecomprimeerd zijn, typt u bijvoorbeeld:

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

Om bestanden en mappen met veelgebruikte attributen te vinden, gebruikt u de parameter Attributen. Of de parameters Directory, File, Hidden, ReadOnly en System.

De parameter Attributen ondersteunt de volgende eigenschappen:

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

Voor een beschrijving van deze attributen, zie de opsomming FileAttributes.

Om attributen te combineren, gebruikt u de volgende operatoren:

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

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

Voor algemene attributen gebruikt u de volgende afkortingen:

  • D (Directory)
  • H (Hidden)
  • R (Read-only)
  • S (System)
Type: FlagsExpression<T>
Waarde geaccepteerd: Archive, Compressed, Device, Directory, Encrypted, Hidden, IntegrityStream, Normal, NoScrubData, NotContentIndexed, Offline, ReadOnly, ReparsePoint, SparseFile, System, Temporary
Position: Named
Afwijkende waarde: None
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 regelen. Standaard wordt met Get-ChildItem de inhoud van de bovenliggende map weergegeven. De diepteparameter bepaalt het aantal subdirectory-niveaus die worden opgenomen in de recursie en geeft de inhoud weer.

Bijvoorbeeld, Depth 2 omvat de directory van de Path-parameter, het eerste niveau van subdirectories en het tweede niveau van subdirectories. Standaard worden directorynamen en bestandsnamen in de uitvoer opgenomen.

Note

Op een Windows-computer kunt u vanuit PowerShell of cmd.exe een grafische weergave van een directory-structuur weergeven met het commando tree.com.

Type: UInt32
Positie: Naam
Standaardwaarde: None
Accepteer pijplijninvoer: False
Accepteer jokertekens: False

-Directory

Om een lijst van directories te krijgen, gebruikt u de parameter Directory of de parameter Attributen met de eigenschap Directory. U kunt de parameter Recurse gebruiken met Directory.

Type: SwitchParameter
Aliassen: ad, d
Positie: Naam
Afwijkwaarde: Neen
Accepteer invoer pijplijn: False
Accepteer wildcard tekens: False
-Exclude

Specifieert, als een string array, een eigenschap of eigenschap die dit cmdlet uitsluit van de operatie.De waarde van deze parameter kwalificeert de Path parameter. Geef een path element of patroon op, zoals *.txt of A*. Jokertekens worden geaccepteerd.

Een sterretje achteraan (*) in de Path parameter is optioneel. Bijvoorbeeld -Path C:\Test\Logs of -Path C:\Test\Logs\*. Als er een sterretje (*) achteraan staat, zoekt de opdracht in de submappen van de Path-parameter. Zonder het sterretje (*) wordt de inhoud van de Path-parameter weergegeven. Meer details zijn te vinden in Voorbeeld 5 en in de paragraaf Opmerkingen.

Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accepteer wildcard tekens: True
-File

Om een lijst van bestanden te krijgen, gebruikt u de File parameter. U kunt de parameter Recurse gebruiken metFile.

Type: SwitchParameter
Aliassen: af
Positie: Naam
Afwijkende waarde: None
Accept pipeline input: False
Accept wildcard characters: False
-Filter

Specificeert een filter om de Path parameter te kwalificeren. De FileSystem-provider is de enige geïnstalleerde PowerShell-provider die filters ondersteunt. Filters zijn efficiënter dan andere parameters. De provider past het filter toe wanneer het cmdlet de objecten ophaalt in plaats van PowerShell de objecten te laten filteren nadat ze zijn opgehaald. De filterstring wordt doorgegeven aan de.NET API om bestanden op te sommen. De API ondersteunt alleen * en ? jokertekens.

Type: String
Position: 1
Aanwezige waarde: None
Accept pipeline input: False
Accept wildcard characters: True
-FollowSymlink

Het cmdlet Get-ChildItem geeft standaard symbolische links weer naar directories die tijdens de recursie zijn gevonden, maar recurseert er niet in. Gebruik de parameter FollowSymlink om de directories te doorzoeken die deze symbolische koppelingen als doel hebben. De parameter FollowSymlink is een dynamische parameter en wordt alleen ondersteund in de FileSystem-provider.

Deze parameter is geïntroduceerd in PowerShell 6.0.

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

-Force

Hiermee kan het cmdlet items ophalen die anders niet toegankelijk zijn voor de gebruiker, zoals verborgen of systeembestanden. De Force parameter heft de beveiligings beperkingen niet op. De implementatie varieert tussen providers. Voor meer informatie, zie about_Providers.

Type: SwitchParameter
Positie: Naam
Voorkeurwaarde: Valse
Accepteer invoer via pijplijn: Valse
Accepteer jokertekens: False
-Hidden

Om alleen verborgen items te krijgen, gebruikt u de parameter Hidden of de parameter Attributes met de eigenschapHidden. Standaard geeft Get-ChildItem geen verborgen items weer. Gebruik de Forceparameter om verborgen items te krijgen.

Type: SwitchParameter
Aliassen: ah, h
Positie: Naam
Afwijkwaarde: Neen
Accepteer invoer pijplijn: False
Accepteer wildcard tekens: False
-Includeer

Specificeert, als een string array, een item of items die dit cmdlet in de operatie opneemt. De waarde van deze parameter kwalificeert de Path parameter. Voer een pad element of patroon in, zoals"*.txt". Jokertekens zijn toegestaan. De parameter Include werkt alleen als de opdracht de inhoud van een item bevat, zoals C:\Windows\*, waarbij het jokerteken de inhoud van de map C:\Windows aangeeft.

Type: String
Positie: Naam
Voorkeurwaarde: None
Accepteer invoer via pijplijn: False
Accepteer jokertekens: True
-LiteralPath

Specificeert een pad naar een of meer locaties. De waarde van LiteralPath wordt precies zo gebruikt als het is getypt. Er worden geen tekens geïnterpreteerd als jokertekens. Als het pad escape-tekens bevat, moet het tussen enkele aanhalingstekens worden gezet. Enkele aanhalingstekens vertellen PowerShell om geen tekens te interpreteren als escape sequences.

Voor meer informatie, zie about_Quoting_Rules.

Type: String
Aliassen: PSPath, LP
Positie: Naam
Afwijkende waarde: None
Accepteer invoer via pijplijn: True
Accepteer wildcard tekens: False
-Name

Krijgt alleen de namen van de items in de locatie. De uitvoer is een string object dat door de pijplijn kan worden gestuurd naar andere commando’s. Wildcards zijn toegestaan.

Type: SwitchParameter
Positie: Naam
Voorkeurwaarde: None
Accepteer invoer in de pijplijn: False
Accepteer jokertekens: True
-Path

Specificeert een pad naar een of meer locaties. Jokertekens worden geaccepteerd. De standaardlocatie is de huidige directory (.).

Type: String
Positie: 0
Afwijkwaarde: Courante directory
Accepteer invoer via pijplijn: True
Accept wildcard characters: True
-ReadOnly

Om alleen read-only items te krijgen, gebruik de ReadOnly parameter of de Attributen parameterReadOnly eigenschap.

Type: SwitchParameter
Aliassen: ar
Positie: Naam
Afwijkwaarde: Neen
Accepteer invoer pijplijn: Valse
Accepteer jokertekens: Valse
-Recurse

Verwerft de items in de opgegeven locaties en in alle kind-items van de locaties.

Type: SwitchParameter
Aliassen: s
Positie: Naam
Afwijkende waarde: False
Accepteer invoer via pijplijn: False
Accepteer wildcard tekens: False
-System

Haalt alleen systeembestanden en -mappen op. Om alleen systeembestanden en -mappen te krijgen, gebruikt u de eigenschap Systemparameter of Attributenparameter System.

Type: SwitchParameter
Aliassen: zoals
Positie: Naam
Afwijkwaarde: Neen
Accepteer invoer pijplijn: Valse
Accepteer jokertekens: Valse

Invoer

String

U kunt een string die een pad bevat naar Get-ChildItem pijpen.

Outputs

Object

Het type object dat Get-ChildItem terugstuurt, wordt bepaald door de objecten in het drivepath van de provider.

String

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

Notes

  • Get-ChildItem kan worden uitgevoerd met een van de ingebouwde aliassen, ls, dir, en gci. Voor meer informatie, zie about_Aliases.
  • Get-ChildItem krijgt standaard geen verborgen items. Om verborgen items op te halen, gebruik de Forceparameter.
  • Het cmdlet Get-ChildItem is ontworpen om te werken met de gegevens die door elke provider worden aangeboden. Typ Get-PSProvider om een lijst op te vragen van de beschikbare providers in uw sessie. Zie about_Providers voor meer informatie.
  • over_Certificate_Provider
  • over_Providers
  • over_Quoting_Rules
  • over_Registry_Provider
  • VoorElk_object
  • Voor-Elk_object
  • .Object
  • Get-Alias
  • Get-Item
  • Get-Location
  • Get-Process
  • Get-PSProvider
  • Split-Path

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.