Krijgt de items en child items in een of meer opgegeven locaties.
- Syntax
- Description
- Examples
- Example 1: Haal child-items op uit een bestandssysteemdirectory
- Voorbeeld 2: Verkrijg namen van child items in een directory
- Voorbeeld 3: Verkrijg kind items in de huidige directory en subdirectories
- Exemplaar 4: Haal child items op met de Include parameter
- Voorbeeld 5: Kinditems ophalen met de parameter Uitsluiten
- Voorbeeld 6: haal de registersleutels op uit een register-hive
- Voorbeeld 7: Alle certificaten ophalen met code-ondertekeningsbevoegdheid
- Voorbeeld 8: Items ophalen met de Depth parameter
- Voorbeeld 9: Het verkrijgen van hard link informatie
- Voorbeeld 10: Uitvoer voor niet-Windows besturingssystemen
- Parameters
- Invoer
- Outputs
- Notes
Syntax
Get-ChildItem <string>] <string>] >] >] >]
Get-ChildItem <string>] -LiteralPath <string> >] >] >]
Description
Het cmdlet Get-ChildItem
krijgt 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
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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
, engci
. 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. TypGet-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