- Syntaxe
- Popis
- Příklady
- Příklad 1: Získání podřízených položek z adresáře souborového systému
- Příklad 2: Získání názvů podřízených položek v adresáři
- Příklad 3: Získání podřízených položek v aktuálním adresáři a podadresářích
- Příklad 4: Získání podřízených položek pomocí parametru Include
- Příklad 5: Získání podřízených položek pomocí parametru Exclude
- Příklad 6: Získání klíčů registru z koše registru
- Příklad 7: Získat všechny certifikáty s autoritou pro podepisování kódu
- Příklad 8: Získání položek pomocí parametru Depth
- Příklad 9: Získání informací o pevném odkazu
- Příklad 10: Výstup pro jiné operační systémy než Windows
- Parametry
- Inputs
- Výstupy
- Notes
Syntaxe
Get-ChildItem <string>] <string>] >] >] >]
Get-ChildItem <string>] -LiteralPath <string> >] >] >]
Popis
Cemlet Get-ChildItem
získá položky a podřízené položky v jednom nebo více zadaných umístění. Pokud je položka kontejner, získá položky uvnitř kontejneru, tzv. podřízené položky. Pomocí parametru Recurse můžete získat položky ve všech podřízených kontejnerech a pomocí parametru Depth omezit počet úrovní k procházení.
Get-ChildItem
nezobrazuje prázdné adresáře. Pokud příkaz Get-ChildItem
obsahuje parametryDepth nebo Recurse, prázdné adresáře nejsou do výstupu zahrnuty.
Lokality jsou vystaveny Get-ChildItem
zprostředkovateli prostředí PowerShell. Umístěním může být adresář souborového systému, úložný prostor registru nebo úložiště certifikátů. Další informace naleznete v části about_Providers.
Příklady
Příklad 1: Získání podřízených položek z adresáře souborového systému
Tento příklad získá podřízené položky z adresáře souborového systému. Zobrazí se názvy souborů a podadresářů. V případě prázdných umístění příkaz nevrátí žádný výstup a vrátí se na výzvu prostředí PowerShell.
Kurz Get-ChildItem
používá parametr Path pro zadání adresáře C:\Test
.Get-ChildItem
zobrazí soubory a adresáře v konzole prostředí PowerShell.
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
Ve výchozím nastavení Get-ChildItem
zobrazí režim (Attributes), LastWriteTime, velikost souboru (Length) a název položky. Písmena ve vlastnosti Mode lze interpretovat takto:
-
l
(odkaz) -
d
(adresář) -
a
(archiv) -
r
(pouze pro čtení) -
h
(skrytý) -
s
(systém).
Další informace o příznacích režimu naleznete v části o nástroji_Filesystem_Provider.
Příklad 2: Získání názvů podřízených položek v adresáři
Tento příklad zobrazuje pouze názvy položek v adresáři.
K zadání adresáře C:\Test
rutina Get-ChildItem
používá parametr Path. ParametrName vrátí pouze názvy souborů nebo adresářů ze zadané cesty.
Get-ChildItem -Path C:\Test -NameLogsanotherfile.txtCommand.txtCreateTestFile.ps1ReadOnlyFile.txt
Příklad 3: Získání podřízených položek v aktuálním adresáři a podadresářích
Tento příklad zobrazí soubory .txt, které se nacházejí v aktuálním adresáři a jeho podadresářích.
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
Kurzní rutina Get-ChildItem
používá parametr Path k zadání C:\Test\*.txt
. Příkaz Path používá zástupný znakasterisk (*
) pro zadání všech souborů s příponou .txt
. Parametr Recurse prohledává v adresáři Path jeho podadresáře, jak je uvedeno v nadpisech Directory:. Parametr Force zobrazí skryté soubory, například hiddenfile.txt
, které mají mód h.
Příklad 4: Získání podřízených položek pomocí parametru Include
V tomto příkladu Get-ChildItem
používá parametr Include k vyhledání konkrétních položek z adresáře určeného parametrem 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 *.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
Cemlet Get-ChildItem
používá parametr Path k určení adresáře C:\Test. ParametrPath obsahuje zástupný znak s koncovou hvězdičkou (*
) pro určení obsahu adresáře.
Při použití parametru Include je třeba, aby parametr Path obsahoval zástupný znak s koncovou hvězdičkou (*
) pro určení všech souborů s příponou .txt. Například -Path C:\Test\*
.
- Pokud je k příkazu přidán parametr Recurse, je koncová hvězdička (
*
) v parametru Path nepovinná. Parametr Recurse získává položky z adresáře Path a jehopodadresářů. Například-Path C:\Test\ -Recurse -Include *.txt
- Pokud není v parametru Path uvedena koncová hvězdička (
*
), příkaz nevrátí žádný výstup a vrátí se na výzvu prostředí PowerShell. Například-Path C:\Test\
.
Příklad 5: Získání podřízených položek pomocí parametru Exclude
Výstup příkladu zobrazuje obsah adresáře C:\Test\Logs. Výstup je referencí pro další příkazy, které používají parametry Exclude a Recurse.
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
Cemdlet Get-ChildItem
používá parametr Path k určení adresáře C:\Test\Logs
.Parametr Exclude používá zástupný znak hvězdička (*
) k určení všech souborů nebo adresářů, které začínají na A nebo a, jsou z výstupu vyloučeny.
Při použití parametru Exclude je koncovka hvězdičky (*
) v parametru Path nepovinná. Například -Path C:\Test\Logs
nebo -Path C:\Test\Logs\*
.
- Pokud není v parametru Path uvedena koncová hvězdička (
*
), zobrazí se obsah parametru Path. Výjimkou jsou názvy souborů nebo podadresářů, které odpovídají hodnotě parametruExclude. - Je-li v parametru Path uvedena koncová hvězdička (
*
), příkaz provede rekurzi do podadresářů parametruPath. Výjimkou jsou názvy souborů nebo podadresářů, které odpovídají hodnotě parametru Exclude. - Pokud je k příkazu přidán parametr Recurse, je výstup rekurze stejný bez ohledu na to, zda parametr Path obsahuje koncovou hvězdičku (
*
).
Příklad 6: Získání klíčů registru z koše registru
Tento příklad získá všechny klíče registru z HKEY_LOCAL_MACHINE\HARDWARE
.
Get-ChildItem
používá parametr Path pro zadání klíče registru HKLM:\HARDWARE
. Cesta a nejvyšší úroveň klíčů registru se zobrazí v konzole prostředí PowerShell.
Další informace naleznete v části 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
První příkaz zobrazí obsah klíče registru HKLM:\HARDWARE
. Parametr Excludeurčuje, aby Get-ChildItem
nevracel žádné podklíče začínající na D*
. V současné době funguje parametr Excludeparametry pouze na podklíče, nikoli na vlastnosti položek.
Příklad 7: Získat všechny certifikáty s autoritou pro podepisování kódu
Tento příklad získá každý certifikát v jednotce PowerShell Cert:, který má autoritu pro podepisování kódu.
K zadání poskytovatele Cert: rutina Get-ChildItem
používá parametr Path. ParametrRecurse prohledává adresář zadaný parametrem Path a jeho podadresáře. ParametrCodeSigningCert získá pouze certifikáty, které mají code-signing authority.
Get-ChildItem -Path Cert:\* -Recurse -CodeSigningCert
Další informace o poskytovateli certifikátů a jednotce Cert: najdete v části about_Certificate_Provider.
Příklad 8: Získání položek pomocí parametru Depth
Tento příklad zobrazí položky v adresáři a jeho podadresářích. Parametr Depthurčuje počet úrovní podadresářů, které mají být zahrnuty do rekurze. Prázdné adresáře jsou z výstupu vyloučeny.
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
Kurzní rutina Get-ChildItem
používá parametr Path pro zadání C:\Parent. Parametr Depthurčuje dvě úrovně rekurze. Příkaz Get-ChildItem
zobrazí obsah adresáře specifikovaného parametrem Path a dvě úrovně podadresářů.
Příklad 9: Získání informací o pevném odkazu
V prostředí PowerShell 6.2 bylo přidáno alternativní zobrazení pro získání informací o pevném odkazu.
Get-ChildItem -Path C:\PathContainingHardLink | Format-Table -View childrenWithHardLink
Příklad 10: Výstup pro jiné operační systémy než Windows
V prostředí PowerShell 7.2 bylo přidáno alternativní zobrazení pro získání informací o pevném odkazu.1 na unixových systémech poskytuje Get-ChildItem
výstup podobný unixovému:
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
Nové vlastnosti, které jsou nyní součástí výstupu, jsou:
- UnixMode jsou oprávnění souboru reprezentovaná v systému Unix
- User je vlastník souboru
- Group je vlastník skupiny
- Size je velikost souboru nebo adresáře reprezentovaná v systému Unix
Poznámka
Tato funkce byla v prostředí PowerShell 7.1.
Parametry
Získá soubory a složky se zadanými atributy. Tento parametr podporuje všechny atributy aumožňuje zadat složité kombinace atributů.
Chcete-li například získat nesystémové soubory (nikoli adresáře), které jsou šifrované nebo komprimované, zadejte:
Get-ChildItem -Attributes !Directory+!System+Encrypted, !Directory+!System+Compressed
Chcete-li najít soubory a složky s běžně používanými atributy, použijte parametr Atributy. Nebo parametry Adresář, Soubor, Skrytý, Jen pro čtení a Systém.
Parametr Atributy podporuje následující vlastnosti:
- Archiv
- Komprimovaný
- Zařízení
- Adresář
- Zakódovaný
- Skrytý
- IntegrityStream
- Normální
- NoScrubData
- NotContentIndexed
- Offline
- ReadOnly
- ReparsePoint
- SparseFile
- System
- Temporary
.
Pro popis těchto atributů, viz výčet FileAttributes.
Pro kombinaci atributů použijte následující operátory:
-
!
(NOT) -
+
(AND) -
,
(OR)
Mezi operátorem a jeho atributem nepoužívejte mezery. Za čárkami jsou mezery přípustné.
Pro běžné atributy používejte následující zkratky:
-
D
(Adresář) -
H
(Skrytý) -
R
(Jen pro čtení) -
S
(Systém)
Typ: | FlagsExpression<T> |
Přijatelné hodnoty: | Archive, Compressed, Device, Directory, Encrypted, Hidden, IntegrityStream, Normal, NoScrubData, NotContentIndexed, Offline, ReadOnly, ReparsePoint, SparseFile, System, Temporary |
Pozice: | Named |
Výchozí hodnota: | Jedna |
Přijímat vstup z potrubí: | Ne |
Přijímat zástupné znaky: | Ne |
Tento parametr byl přidán v PowerShellu 5.0 a umožňuje řídit hloubku rekurze. Ve výchozím nastavení Get-ChildItem
zobrazí obsah nadřazeného adresáře. Parametr Depthurčuje počet úrovní podadresářů, které jsou zahrnuty do rekurze, a zobrazuje jejichobsah.
Například Depth 2
zahrnuje adresář parametru Path, první úroveň podadresářů a druhou úroveň podadresářů. Ve výchozím nastavení jsou do výstupu zahrnuty názvy adresářů a souborů.
Poznámka
V počítači se systémem Windows z prostředí PowerShell nebo cmd.exe můžete zobrazit grafické zobrazení adresářové struktury pomocí příkazu tree.com.
Typ: | UInt32 |
Pozice: | Název |
Výchozí hodnota: | Jedna |
Přijmout vstup z potrubí: | False |
Accept wildcard characters: | False |
Pro získání seznamu adresářů použijte parametr Directory nebo parametr Attributes s vlastností Directory. Můžete použít parametr Recurse s vlastností Directory.
Typ: | PřepínačParametr |
Aliasy: | ad, d |
Pozice: | Named |
Výchozí hodnota: | None |
Přijímá vstup do potrubí: | False |
Accept wildcard characters: | False |
Určuje jako řetězcové pole vlastnost nebo vlastnosti, které tato rutina vyloučí z operace.Hodnota tohoto parametru kvalifikuje parametr Path. Zadejte prvek nebo vzor cesty, například *.txt
nebo A*
. Zástupné znaky jsou přípustné.
Závěrečná hvězdička (*
) v parametru Path je nepovinná. Například -Path C:\Test\Logs
nebo -Path C:\Test\Logs\*
. Pokud je uvedena koncová hvězdička (*
), příkaz provede rekurzi do podadresářů parametruPath. Bez hvězdičky (*
) se zobrazí obsah parametruPath. Další podrobnosti jsou uvedeny v příkladu 5 a v části Poznámky.
Typ: | Řetězec |
Pozice: | Název |
Výchozí hodnota: | Nulová |
Přijmout vstup z potrubí: | False |
Accept wildcard characters: | True |
Pro získání seznamu souborů použijte parametr File. S parametremFile můžete použít parametr Recurse.
Typ: | PřepínačParametr |
Aliasy: | af |
Pozice: | Název |
Výchozí hodnota: | Jedna |
Přijímá vstup z potrubí: | Ne |
Přijímá zástupné znaky: | Ne |
Určuje filtr pro kvalifikaci parametru Path. Zprostředkovatel FileSystemprovider je jediným nainstalovaným zprostředkovatelem prostředí PowerShell, který podporuje filtry. Filtry jsou účinnějšínež ostatní parametry. Zprostředkovatel použije filtr v okamžiku, kdy rutina získá objekty, místo toho, aby prostředí PowerShell filtrovalo objekty po jejich načtení. Řetězec filtru je předán rozhraní API sítě.NET pro výčet souborů. Rozhraní API podporuje pouze zástupné znaky *
a ?
.
Typ: | Řetězec |
Pozice: | 1 |
Výchozí hodnota: | Nulová |
Přijímání vstupů z potrubí: | Ne |
Přijímání zástupných znaků: | True |
Ve výchozím nastavení Get-ChildItem
rutina zobrazuje symbolické odkazy na adresáře nalezené během rekurze, ale neprovádí do nich rekurzi. Pomocí parametru FollowSymlink můžete prohledávat adresáře, které jsou cílem těchto symbolických odkazů. Parametr FollowSymlink je dynamický parametr a je podporován pouze ve zprostředkovateli FileSystem.
Tento parametr byl zaveden v prostředí PowerShell 6.0.
.
Typ: | PřepínačParametr |
Pozice: | Název |
Výchozí hodnota: | Jedna |
Přijímá vstup z potrubí: | False |
Accept wildcard characters: | False |
Umožňuje rutině získat položky, ke kterým jinak uživatel nemá přístup, například skryté nebo systémové soubory. Parametr Vynutit nepřebíjí omezení zabezpečení. Implementace se u jednotlivých poskytovatelů liší. Další informace naleznete v části about_Providers.
Typ: | PřepínačParametr |
Pozice: | Název |
Výchozí hodnota: | False |
Přijmout vstup z potrubí: | False |
Accept wildcard characters: | False |
Chcete-li získat pouze skryté položky, použijte parametr Hidden nebo parametr Attributes s vlastnostíHidden. Ve výchozím nastavení Get-ChildItem
nezobrazuje skryté položky. K zobrazení skrytých položek použijte parametr Forceparameter.
Typ: | PřepínačParametr |
Aliasy: | ah, h |
Pozice: | Named |
Výchozí hodnota: | None |
Přijímá vstup do potrubí: | False |
Accept wildcard characters: | False |
Určuje jako řetězcové pole položku nebo položky, které tato rutina zahrnuje do operace. Hodnota tohoto parametru kvalifikuje parametr Path. Zadejte prvek nebo vzor cesty, například"*.txt"
. Zástupné znaky jsou povoleny. Parametr Include je účinný pouze v případě, že příkaz zahrnuje obsah položky, například C:\Windows\*
, kde zástupný znak určuje obsah adresáře C:\Windows
.
Typ: | Řetězec |
Pozice: | Název |
Výchozí hodnota: | Jedna |
Přijímá vstup z potrubí: | False |
Accept wildcard characters: | True |
Určuje cestu k jednomu nebo více místům. Hodnota LiteralPath se použije přesně tak, jak je stylizována. Žádné znaky nejsou interpretovány jako zástupné znaky. Pokud cesta obsahuje znaky escape, uzavřete ji do jednoduchých uvozovek. Jednoduché uvozovky říkají prostředí PowerShell, aby neinterpretovalo žádné znakyjako escape sekvence.
Další informace naleznete v části about_Quoting_Rules.
Typ: | Řetězec |
Aliasy: | PSPath, LP |
Pozice: | Název |
Výchozí hodnota: | Nic |
Přijímá vstup z potrubí: | True |
Přijímá zástupné znaky: | False |
Získá pouze názvy položek v umístění. Výstupem je řetězcový objekt, který lze poslat dolů po potrubí dalším příkazům. Zástupné znaky jsou povoleny.
Typ: | PřepínačParametr |
Položka: | Název |
Výchozí hodnota: | Nic |
Přijímá vstup do potrubí: | False |
Accept wildcard characters: | True |
Určuje cestu k jednomu nebo více místům. Jsou akceptovány zástupné znaky. Výchozí umístění je aktuální adresář (.
).
Typ: | Řetězec |
Poloha: | 0 |
Výchozí hodnota: | Aktuální adresář |
Přijímá vstupní údaje potrubí: | True |
Accept wildcard characters: | True |
Chcete-li získat pouze položky pro čtení, použijte parametr ReadOnly nebo vlastnost Attributes parameterReadOnly.
Typ: | PřepínačParametr |
Aliasy: | ar |
Pozice: | Named |
Výchozí hodnota: | None |
Přijímá vstup do potrubí: | False |
Accept wildcard characters: | False |
Získá položky v zadaných lokacích a ve všech podřízených položkách lokací.
Typ: | PřepínačParametr |
Aliasy: | s |
Pozice: | Název |
Výchozí hodnota: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Získá pouze systémové soubory a adresáře. Chcete-li získat pouze systémové soubory a adresáře, použijte parametr Systemparameter nebo vlastnost Attributes System.
Typ: | PřepínačParametr |
Aliasy: | jako |
Pozice: | Název |
Výchozí hodnota: | Žádná |
Přijímá vstup do potrubí: | False |
Accept wildcard characters: | False |
Inputs
String
Do Get-ChildItem
můžete vložit řetězec obsahující cestu.
Výstupy
Objekt
Typ objektu, který Get-ChildItem
vrací, je určen objekty v drivepath poskytovatele.
String
Pokud použijete parametr Name, Get-ChildItem
vrátí názvy objektů jako řetězce.
Notes
-
Get-ChildItem
lze spustit pomocí některého ze zabudovaných aliasů,ls
,dir
agci
. Další informace naleznete v části about_Aliases. -
Get-ChildItem
ve výchozím nastavení nezískává skryté položky. Chcete-li získat skryté položky, použijte parametr Forceparameter. - Kurzívka
Get-ChildItem
je navržena tak, aby pracovala s daty vystavenými libovolným poskytovatelem. Chcete-li zobrazit seznam poskytovatelů dostupných v relaci, zadejteGet-PSProvider
. další informace naleznete v části about_Providers.
- o_poskytovateli_certifikátů
- o_poskytovatelích
- o_pravidlech_kódování
- o_poskytovateli_registrů
- Pro každý-Object
- Get-Alias
- Get-Item
- Get-Location
- Get-Process
- Get-PSProvider
- Split-Path