Get-ChildItem
Získá položky a podřízené položky v jednom nebo více zadaných umístěních.
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
Rutina Get-ChildItem
načte položky v jednom nebo více zadaných umístěních. Pokud je položka kontejner, získá položky uvnitř kontejneru, označované jako 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í, které se mají vrátit.
Get-ChildItem
nezobrazuje prázdné adresáře. Get-ChildItem
Pokud příkaz obsahuje parametry Hloubka nebo Recurse, nejsou do výstupu zahrnuty prázdné adresáře.
Zprostředkovatelé PowerShellu Get-ChildItem
zveřejňují umístění. Umístění může být adresář systému souborů, podregistr registru nebo úložiště certifikátů. Další informace najdete v tématu about_Providers.
Příklady
Příklad 1: Získání podřízených položek z adresáře systému souborů
Tento příklad získá podřízené položky z adresáře systému souborů. Zobrazí se názvy souborů a podadresáře. V případě prázdných umístění příkaz nevrací žádný výstup a vrátí se do příkazového řádku PowerShellu.
Rutina Get-ChildItem
používá parametr Path k určení adresáře C:\Test
.
Get-ChildItem
zobrazí soubory a adresáře v konzole PowerShellu.
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
Ve výchozím nastavení Get-ChildItem
se zobrazí režim (Atributy), LastWriteTime, velikost souboru (délka) a název položky. Písmena ve vlastnosti Mode lze interpertovat následujícím způsobem:
l
(odkaz)d
(adresář)a
(archiv)r
(jen pro čtení)h
(skryté)s
(systém).
Další informace o příznakech režimu najdete v tématu about_Filesystem_Provider.
Příklad 2: Získání názvů podřízených položek v adresáři
Tento příkaz vypíše jenom názvy položek v adresáři.
Rutina Get-ChildItem
používá parametr Path k určení adresáře C:\Test
. Parametr Name vrátí pouze názvy souborů nebo adresářů ze zadané cesty.
Get-ChildItem -Path C:\Test -Name
Logs
anotherfile.txt
Command.txt
CreateTestFile.ps1
ReadOnlyFile.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í .txt soubory, které jsou umístěny v aktuálním adresáři a jeho podadresářích.
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
Rutina Get-ChildItem
používá parametr Path k zadání C:\Test\*.txt
. Cesta používá zástupný znak hvězdičky (*
) k určení všech souborů s příponou názvu souboru .txt. Parametr Recurse prohledá adresář Path jeho podadresáře, jak je znázorněno v nadpisech Adresář: . Parametr Force zobrazí skryté soubory, například hiddenfile.txt , které mají režim 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 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
Rutina Get-ChildItem
používá parametr Path k určení adresáře C:\Test. Parametr Path obsahuje zástupný znak hvězdičky (*
), který určuje obsah adresáře.
Parametr Include používá zástupný znak hvězdičky (*
) k určení všech souborů s příponou názvu souboru .txt.
Při použití parametru Include potřebuje parametr Path k určení obsahu adresáře zástupný znak hvězdičky (*
). Například, -Path C:\Test\*
.
- Pokud je do příkazu přidán parametr Recurse , koncová hvězdička (
*
) v parametru Path je volitelná. Parametr Recurse získává položky z adresáře Path a jeho podadresářů. Například-Path C:\Test\ -Recurse -Include *.txt
. - Pokud koncová hvězdička (
*
) není zahrnuta v parametru Path , příkaz nevrací žádný výstup a vrátí se do příkazového řádku PowerShellu. Například,-Path C:\Test\
.
Příklad 5: Získání podřízených položek pomocí parametru Exclude
Výstup příkladu ukazuje obsah adresáře C:\Test\Logs. Výstup je odkazem na další příkazy, které používají parametry Exclude a 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
Rutina Get-ChildItem
používá parametr Path k určení adresáře C:\Test\Logs
.
Parametr Exclude používá zástupný znak hvězdičky (*
) k určení všech souborů nebo adresářů, které začínají na A nebo a jsou vyloučeny z výstupu.
Při použití parametru Exclude je koncová hvězdička (*
) v parametru Path volitelná. Příkladem je -Path C:\Test\Logs
nebo -Path C:\Test\Logs\*
.
- Pokud koncová hvězdička (
*
) není zahrnuta v parametru Path , zobrazí se obsah parametru Path . Výjimkou jsou názvy souborů nebo podadresáře, které odpovídají hodnotě parametru Exclude . - Pokud je v parametru Path zahrnuta koncová hvězdička (
*
), příkaz se znovu zobrazí do podadresářů parametru Path. Výjimkou jsou názvy souborů nebo podadresáře, které odpovídají hodnotě parametru Exclude . - Pokud je do příkazu přidán parametr Recurse , je výstup rekurze stejný bez ohledu na to, jestli parametr Path obsahuje koncovou hvězdičku (
*
).
Příklad 6: Získání klíčů registru z podregistru registru
Tento příkaz získá všechny klíče registru z HKEY_LOCAL_MACHINE\HARDWARE
klíče registru.
Get-ChildItem
použije parametr Path k zadání klíče HKLM:\HARDWARE
registru . Cesta hivu a nejvyšší úroveň klíčů registru se zobrazí v konzole PowerShellu.
Další informace najdete v tématu 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
První příkaz zobrazí obsah HKLM:\HARDWARE
klíče registru. Parametr Exclude říká, že Get-ChildItem
nevrací žádné podklíče, které začínají na D*
. V současné době funguje parametr Exclude pouze u podklíčů, nikoli u vlastností položky.
Příklad 7: Získání všech certifikátů s podpisovou autoritou kódu
Tento příkaz získá každý certifikát na jednotce PowerShell Cert: s autoritou pro podepisování kódu.
Rutina Get-ChildItem
používá parametr Path k určení zprostředkovatele Cert: . Parametr Recurse prohledá adresář určený path a jeho podadresáře. Parametr CodeSigningCert získá pouze certifikáty, které mají autoritu pro podepisování kódu.
Get-ChildItem -Path Cert:\* -Recurse -CodeSigningCert
Další informace o poskytovateli certifikátu a jednotce Cert: najdete v tématu about_Certificate_Provider.
Příklad 8: Získání položek pomocí parametru Depth
Tento příkaz zobrazí položky v adresáři a jeho podadresáře. Parametr Depth určuje počet úrovní podadresáře, které se mají zahrnout do rekurze. Prázdné adresáře jsou vyloučeny z výstupu.
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
Rutina Get-ChildItem
používá parametr Path k zadání C:\Parent. Parametr Depth určuje dvě úrovně rekurze. Get-ChildItem
zobrazí obsah adresáře určeného parametrem Path a dvě úrovně podadresářů.
Parametry
-Attributes
Získá soubory a složky se zadanými atributy. Tento parametr podporuje všechny atributy a umožňuje zadat složité kombinace atributů.
Pokud například chcete získat nesystémové soubory (ne adresáře), které jsou šifrované nebo komprimované, zadejte:
Get-ChildItem -Attributes !Directory+!System+Encrypted, !Directory+!System+Compressed
K vyhledání souborů a složek s běžně používanými atributy použijte parametr Attributes . Nebo parametry Adresář, Soubor, Skryté, Jen pro čtení a Systém.
Parametr Attributes podporuje následující vlastnosti:
- Archiv
- Komprimované
- Zařízení
- Directory
- Šifrované
- Skrytý
- IntegrityStream
- Normální
- NoScrubData
- NotContentIndexed
- Offline
- Readonly
- ReparsePoint
- Zhuštěný soubor
- Systém
- Dočasné
Popis těchto atributů naleznete FileAttributes výčet.
Ke kombinování atributů použijte následující operátory:
!
(NE)+
(AND),
(NEBO)
Nepoužívejte mezery mezi operátorem a jeho atributem. Mezery se přijímají za čárkami.
Pro běžné atributy použijte následující zkratky:
D
(Adresář)H
(Skryté)R
(jen pro čtení)S
(Systém)
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
Tento parametr byl přidán do PowerShellu 5.0 a umožňuje řídit hloubku rekurze. Ve výchozím nastavení Get-ChildItem
zobrazí obsah nadřazeného adresáře. Parametr Depth určuje počet úrovní podadresáře, které jsou součástí rekurze, a zobrazí obsah.
Zahrnuje například Depth 2
adresář parametru Path , první úroveň podadresářů a druhou úroveň podadresářů. Ve výchozím nastavení jsou ve výstupu zahrnuty názvy adresářů a souborů.
Poznámka
Na počítači s Windows z PowerShellu nebo cmd.exemůžete pomocí příkazu tree.com zobrazit grafické zobrazení adresářové struktury.
Type: | UInt32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Directory
Pokud chcete získat seznam adresářů, použijte parametr Directory nebo Attributes s vlastností Directory . Můžete použít parametr Recurse s Directory.
Type: | SwitchParameter |
Aliases: | ad, d |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Exclude
Určuje jako pole řetězců vlastnost nebo vlastnost, kterou tato rutina vyloučí z operace.
Hodnota tohoto parametru kvalifikuje parametr Path . Zadejte element nebo vzor cesty, například *.txt
nebo A*
. Zástupné znaky jsou přijímány.
Koncová hvězdička (*
) v parametru Path je volitelná. Příkladem je -Path C:\Test\Logs
nebo -Path C:\Test\Logs\*
. Pokud je zahrnuta koncová hvězdička (*
), příkaz se znovu zobrazí do podadresářů parametru Path . Bez hvězdičky (*
) se zobrazí obsah parametru Path . Další podrobnosti najdete v příkladu 5 a v části Poznámky.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-File
Pokud chcete získat seznam souborů, použijte parametr File . U file můžete použít parametr Recurse.
Type: | SwitchParameter |
Aliases: | af |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Filter
Určuje filtr pro kvalifikaci parametru Path . Zprostředkovatel fileSystem je jediným nainstalovaným zprostředkovatelem PowerShellu, který podporuje použití filtrů. Filtry jsou efektivnější než jiné parametry, protože je zprostředkovatel použije, když rutina získá objekty, místo aby objekty po načtení vyfiltroval PowerShell. Řetězec filtru se předá rozhraní .NET API pro výčet souborů. Toto rozhraní API podporuje *
pouze zástupné é karty a ?
.
Type: | String |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Force
Umožňuje rutině získat položky, ke kterým jinak uživatel nemůže získat přístup, například skryté nebo systémové soubory. Parametr Force nepřepíše omezení zabezpečení. Implementace se u jednotlivých poskytovatelů liší. Další informace najdete v tématu about_Providers.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Hidden
Pokud chcete získat jenom skryté položky, použijte parametr Hidden nebo parametr Attributes s vlastností Hidden . Ve výchozím nastavení Get-ChildItem
nezobrazuje skryté položky. Pomocí parametru Force získejte skryté položky.
Type: | SwitchParameter |
Aliases: | ah, h |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Include
Určuje jako pole řetězců položku nebo položky, které tato rutina zahrnuje do operace. Hodnota tohoto parametru kvalifikuje parametr Path . Zadejte element nebo vzor cesty, například "*.txt"
. Zástupné znaky jsou povoleny. Parametr Include je účinný pouze v případě, že příkaz obsahuje obsah položky, například C:\Windows\*
, kde zástupný znak určuje obsah C:\Windows
adresáře.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-LiteralPath
Určuje cestu k jednomu nebo více umístěním. Hodnota LiteralPath se používá přesně tak, jak je zadána. Žádné znaky nejsou interpretovány jako zástupné znaky. Pokud cesta obsahuje řídicí znaky, uzavřete ji do jednoduchých uvozovek. Jednoduché uvozovky říkají PowerShellu, že nemá interpretovat žádné znaky jako řídicí sekvence.
Další informace najdete v tématu about_Quoting_Rules.
Type: | String[] |
Aliases: | PSPath |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Získá pouze názvy položek v umístění. Výstupem je objekt řetězce, který je možné odeslat do kanálu jiným příkazům. Zástupné cardy jsou povolené.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Path
Určuje cestu k jednomu nebo více umístěním. Zástupné cardy jsou přijímány. Výchozím umístěním je aktuální adresář (.
).
Type: | String[] |
Position: | 0 |
Default value: | Current directory |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-ReadOnly
Chcete-li získat pouze položky jen pro čtení, použijte parametr ReadOnly nebo Attributes parametr ReadOnly vlastnost.
Type: | SwitchParameter |
Aliases: | ar |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Recurse
Získá položky v zadaných umístěních a ve všech podřízených položkách umístění.
Type: | SwitchParameter |
Aliases: | s |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-System
Získá pouze systémové soubory a adresáře. Pokud chcete získat pouze systémové soubory a složky, použijte vlastnost System parametru nebo atributuparametru System .
Type: | SwitchParameter |
Aliases: | as |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseTransaction
Zahrnuje příkaz v aktivní transakci. Tento parametr je platný jenom v případě, že probíhá transakce. Další informace najdete v tématu about_Transactions.
Type: | SwitchParameter |
Aliases: | usetx |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Vstupy
Můžete připojit řetězec, který obsahuje cestu k Get-ChildItem
.
Výstupy
Typ objektu, který vrací, Get-ChildItem
je určen objekty v cestě k jednotce zprostředkovatele.
Pokud použijete parametr Name , Get-ChildItem
vrátí názvy objektů jako řetězce.
Poznámky
- Můžete odkazovat
Get-ChildItem
na předdefinované aliasy ,ls
dir
agci
. Další informace najdete v tématu about_Aliases. Get-ChildItem
ve výchozím nastavení nezískuje skryté položky. Pokud chcete získat skryté položky, použijte parametr Force .- Rutina
Get-ChildItem
je navržená tak, aby pracovala s daty vystavenými libovolným poskytovatelem. Pokud chcete zobrazit seznam poskytovatelů dostupných v relaci, zadejteGet-PSProvider
. Další informace najdete v tématu about_Providers.