Get-ChildItem
Hämtar objekt och underordnade objekt på en eller flera angivna platser.
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
Cmdleten Get-ChildItem
hämtar objekten på en eller flera angivna platser. Om objektet är en container hämtar det objekten i containern, så kallade underordnade objekt. Du kan använda parametern Recurse för att hämta objekt i alla underordnade containrar och använda parametern Depth för att begränsa antalet nivåer som ska upprepas.
Get-ChildItem
visar inte tomma kataloger. När ett Get-ChildItem
-kommando innehåller parametrarna Depth eller Recurse inkluderas inte tomma kataloger i utdata.
Platser exponeras för Get-ChildItem
av PowerShell-leverantörer. En plats kan vara en filsystemkatalog, registerdatafil eller ett certifikatarkiv. Mer information finns i about_Providers.
Exempel
Exempel 1: Hämta underordnade objekt från en filsystemkatalog
Det här exemplet hämtar underordnade objekt från en filsystemkatalog. Filnamnen och underkatalognamnen visas. För tomma platser returnerar kommandot inga utdata och återgår till PowerShell-prompten.
Cmdleten Get-ChildItem
använder parametern Path för att ange katalogen C:\Test
.
Get-ChildItem
visar filerna och katalogerna i PowerShell-konsolen.
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
Som standard visar Get-ChildItem
läget (Attribut), LastWriteTime, filstorlek (Längd) och Namn för objektet. Bokstäverna i egenskapen Mode kan avgränsas på följande sätt:
-
l
(länk) -
d
(katalog) -
a
(arkiv) -
r
(skrivskyddad) -
h
(dold) -
s
(system).
Mer information om lägesflaggor finns i about_Filesystem_Provider.
Exempel 2: Hämta underordnade objektnamn i en katalog
Det här kommandot visar bara namnen på objekt i en katalog.
Cmdleten Get-ChildItem
använder parametern Path för att ange katalogen C:\Test
. Parametern Name returnerar endast fil- eller katalognamnen från den angivna sökvägen.
Get-ChildItem -Path C:\Test -Name
Logs
anotherfile.txt
Command.txt
CreateTestFile.ps1
ReadOnlyFile.txt
Exempel 3: Hämta underordnade objekt i den aktuella katalogen och underkatalogerna
Det här exemplet visar .txt filer som finns i den aktuella katalogen och dess underkataloger.
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
Cmdleten Get-ChildItem
använder parametern Path för att ange C:\Test\*.txt
.
Path använder jokertecknet asterisk (*
) för att ange alla filer med filnamnstillägget .txt. Parametern Recurse söker i katalogen Path dess underkataloger enligt Directory: rubriker. Parametern Force visar dolda filer, till exempel hiddenfile.txt som har ett läge h.
Exempel 4: Hämta underordnade objekt med hjälp av parametern Inkludera
I det här exemplet använder Get-ChildItem
parametern Include för att hitta specifika objekt från katalogen som anges av parametern 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
Cmdleten Get-ChildItem
använder parametern Path för att ange katalogen C:\Test. Parametern Path innehåller ett avslutande asterisk (*
) jokertecken för att ange katalogens innehåll.
Parametern Include använder ett asterisk (*
) jokertecken för att ange alla filer med filnamnstillägget .txt.
När parametern Include används behöver parametern Path ett avslutande asterisk (*
) jokertecken för att ange katalogens innehåll. Till exempel -Path C:\Test\*
.
- Om parametern Recurse läggs till i kommandot är den avslutande asterisken (
*
) i parametern Path valfri. Parametern Recurse hämtar objekt från katalogen Path och dess underkataloger. Till exempel-Path C:\Test\ -Recurse -Include *.txt
- Om en avslutande asterisk (
*
) inte ingår i parametern Path returnerar kommandot inga utdata och återgår till PowerShell-prompten. Till exempel-Path C:\Test\
.
Exempel 5: Hämta underordnade objekt med parametern Exkludera
Exemplets utdata visar innehållet i katalogen C:\Test\Logs. Utdata är en referens för de andra kommandon som använder parametrarna Exclude och 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
Cmdleten Get-ChildItem
använder parametern Path för att ange katalogen C:\Test\Logs
.
Parametern Exclude använder jokertecknet asterisk (*
) för att ange filer eller kataloger som börjar med A eller en undantas från utdata.
När parametern Exclude används är en avslutande asterisk (*
) i parametern Path valfri. Till exempel -Path C:\Test\Logs
eller -Path C:\Test\Logs\*
.
- Om en avslutande asterisk (
*
) inte ingår i parametern Path visas innehållet i parametern Path. Undantagen är filnamn eller underkatalognamn som matchar värdet för parametern Exclude. - Om en avslutande asterisk (
*
) ingår i parametern Path visas kommandot i Path parameterns underkataloger. Undantagen är filnamn eller underkatalognamn som matchar värdet för parametern Exclude. - Om parametern Recurse läggs till i kommandot är rekursionsutdata samma oavsett om parametern Path innehåller en avslutande asterisk (
*
).
Exempel 6: Hämta registernycklarna från en registreringsdatafil
Det här kommandot hämtar alla registernycklar från HKEY_LOCAL_MACHINE\HARDWARE
registernyckeln.
Get-ChildItem
använder parametern Path för att ange registernyckeln HKLM:\HARDWARE
. Hive-sökvägen och den översta nivån av registernycklar visas i PowerShell-konsolen.
Mer information finns i 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
Det första kommandot visar innehållet i HKLM:\HARDWARE
-registernyckeln. Parametern Exclude anger att Get-ChildItem
inte ska returnera några undernycklar som börjar med D*
. För närvarande fungerar parametern Exclude endast på undernycklar, inte objektegenskaper.
Exempel 7: Hämta alla certifikat med kodsigneringsutfärdare
Det här kommandot hämtar varje certifikat i PowerShell Cert: enhet som har kodsigneringsutfärdare.
Cmdleten Get-ChildItem
använder parametern Path för att ange providern Cert:. Parametern Recurse söker i katalogen som anges av Path och dess underkataloger. Parametern CodeSigningCert hämtar endast certifikat som har kodsigneringsbehörighet.
Get-ChildItem -Path Cert:\* -Recurse -CodeSigningCert
Mer information om certifikatprovidern och cert:-enheten finns i about_Certificate_Provider.
Exempel 8: Hämta objekt med hjälp av parametern Djup
Det här kommandot visar objekten i en katalog och dess underkataloger. Parametern Depth avgör antalet underkatalognivåer som ska inkluderas i rekursionen. Tomma kataloger undantas från utdata.
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
Cmdleten Get-ChildItem
använder parametern Path för att ange C:\Parent. Parametern Depth anger två rekursionsnivåer.
Get-ChildItem
visar innehållet i katalogen som anges av parametern Path och de två nivåerna av underkataloger.
Parametrar
-Attributes
Hämtar filer och mappar med de angivna attributen. Den här parametern stöder alla attribut och låter dig ange komplexa kombinationer av attribut.
Om du till exempel vill hämta icke-systemfiler (inte kataloger) som är krypterade eller komprimerade skriver du:
Get-ChildItem -Attributes !Directory+!System+Encrypted, !Directory+!System+Compressed
Om du vill hitta filer och mappar med vanliga attribut använder du parametern Attribut. Eller parametrarna Directory, File, Hidden, ReadOnlyoch System.
Parametern Attributes stöder följande egenskaper:
- Arkivera
- komprimerad
- Enhet
- Directory
- Krypterad
- dold
- IntegrityStream
- Normal
- NoScrubData
- NotContentIndexed
- offline
- ReadOnly
- ReparsePoint
- SparseFile
- System
- tillfällig
En beskrivning av dessa attribut finns i FileAttributes Enumeration.
Om du vill kombinera attribut använder du följande operatorer:
-
!
(INTE) -
+
(OCH) -
,
(OR)
Använd inte blanksteg mellan en operator och dess attribut. Blanksteg accepteras efter kommatecken.
Använd följande förkortningar för vanliga attribut:
-
D
(katalog) -
H
(dold) -
R
(skrivskyddad) -
S
(system)
Typ: | FlagsExpression<T>[FileAttributes] |
Godkända värden: | Archive, Compressed, Device, Directory, Encrypted, Hidden, IntegrityStream, Normal, NoScrubData, NotContentIndexed, Offline, ReadOnly, ReparsePoint, SparseFile, System, Temporary |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Depth
Den här parametern lades till i PowerShell 5.0 och gör att du kan kontrollera rekursionsdjupet. Som standard visar Get-ChildItem
innehållet i den överordnade katalogen. Parametern Depth bestämmer antalet underkatalognivåer som ingår i rekursionen och visar innehållet.
Till exempel innehåller Depth 2
Path-parameterns katalog, den första nivån av underkataloger och den andra nivån av underkataloger. Som standard inkluderas katalognamn och filnamn i utdata.
Not
På en Windows-dator från PowerShell eller cmd.exekan du visa en grafisk vy över en katalogstruktur med kommandot tree.com.
Typ: | UInt32 |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Directory
Om du vill hämta en lista över kataloger använder du parametern Directory eller parametern Attributes med egenskapen Directory. Du kan använda parametern Recurse med Directory.
Typ: | SwitchParameter |
Alias: | ad, d |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Exclude
Anger, som en strängmatris, en egenskap eller egenskap som denna cmdlet exkluderar från åtgärden.
Värdet för den här parametern kvalificerar parametern Path. Ange ett sökvägselement eller mönster, till exempel *.txt
eller A*
. Jokertecken accepteras.
En avslutande asterisk (*
) i parametern Path är valfri. Till exempel -Path C:\Test\Logs
eller -Path C:\Test\Logs\*
. Om en avslutande asterisk (*
) ingår, upprepas kommandot i Path parameterns underkataloger. Utan asterisken (*
) visas innehållet i parametern Path. Mer information finns i exempel 5 och avsnittet Anteckningar.
Typ: | String[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | True |
-File
Om du vill hämta en lista över filer använder du parametern File. Du kan använda parametern Recurse med File.
Typ: | SwitchParameter |
Alias: | af |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Filter
Anger ett filter för att kvalificera parametern Path.
FileSystem-providern är den enda installerade PowerShell-providern som stöder användning av filter. Filter är effektivare än andra parametrar eftersom providern tillämpar dem när cmdleten hämtar objekten i stället för att Låta PowerShell filtrera objekten när de har hämtats. Filtersträngen skickas till .NET API för att räkna upp filer. Api:et stöder endast *
och ?
jokertecken.
Typ: | String |
Position: | 1 |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | True |
-Force
Tillåter att cmdleten hämtar objekt som annars inte kan nås av användaren, till exempel dolda filer eller systemfiler. Parametern Force åsidosätter inte säkerhetsbegränsningar. Implementeringen varierar mellan olika leverantörer. Mer information finns i about_Providers.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Hidden
Om du bara vill hämta dolda objekt använder du parametern Hidden eller parametern Attributes med egenskapen Hidden. Som standard visar Get-ChildItem
inte dolda objekt. Använd parametern Force för att hämta dolda objekt.
Typ: | SwitchParameter |
Alias: | ah, h |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Include
Anger, som en strängmatris, ett objekt eller objekt som den här cmdleten innehåller i åtgärden. Värdet för den här parametern kvalificerar parametern Path. Ange ett sökvägselement eller mönster, till exempel "*.txt"
. Jokertecken tillåts. Parametern Include gäller endast när kommandot innehåller innehållet i ett objekt, till exempel C:\Windows\*
, där jokertecknet anger innehållet i katalogen C:\Windows
.
Typ: | String[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | True |
-LiteralPath
Anger en sökväg till en eller flera platser. Värdet för LiteralPath används exakt som det skrivs. Inga tecken tolkas som jokertecken. Om sökvägen innehåller escape-tecken omger du den med enkla citattecken. Enkla citattecken gör att PowerShell inte tolkar några tecken som escape-sekvenser.
Mer information finns i about_Quoting_Rules.
Typ: | String[] |
Alias: | PSPath |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Name
Hämtar endast namnen på objekten på platsen. Utdata är ett strängobjekt som kan skickas ned i pipelinen till andra kommandon. Jokertecken tillåts.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | True |
-Path
Anger en sökväg till en eller flera platser. Jokertecken accepteras. Standardplatsen är den aktuella katalogen (.
).
Typ: | String[] |
Position: | 0 |
Standardvärde: | Current directory |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | True |
-ReadOnly
Om du bara vill hämta skrivskyddade objekt använder du parametern ReadOnly eller parametern Attributesegenskapen ReadOnly.
Typ: | SwitchParameter |
Alias: | ar |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Recurse
Hämtar objekten på de angivna platserna och i alla underordnade objekt på platserna.
Typ: | SwitchParameter |
Alias: | s |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-System
Hämtar endast systemfiler och kataloger. Om du bara vill hämta systemfiler och mappar använder du parametern System eller Attributes parametern Egenskapen System.
Typ: | SwitchParameter |
Alias: | as |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-UseTransaction
Innehåller kommandot i den aktiva transaktionen. Den här parametern är endast giltig när en transaktion pågår. Mer information finns i about_Transactions.
Typ: | SwitchParameter |
Alias: | usetx |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
Indata
Du kan skicka en sträng som innehåller en sökväg till Get-ChildItem
.
Utdata
Vilken typ av objekt som Get-ChildItem
returnerar bestäms av objekten i providerenhetens sökväg.
Om du använder parametern Name returnerar Get-ChildItem
objektnamnen som strängar.
Kommentarer
- Du kan referera till
Get-ChildItem
med dess inbyggda alias,ls
,dir
ochgci
. Mer information finns i about_Aliases. -
Get-ChildItem
får inte dolda objekt som standard. Om du vill hämta dolda objekt använder du parametern Force. - Cmdleten
Get-ChildItem
är utformad för att fungera med data som exponeras av alla leverantörer. Om du vill visa en lista över tillgängliga leverantörer i sessionen skriver duGet-PSProvider
. Mer information finns i about_Providers.