Get-ChildItem

Modul:

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

-Atributy

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

-Hloubka

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
-Directory

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
-Exclude

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\Logsnebo -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
-File

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
-Filter

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

-FollowSymlink

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
-Force

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
-Hidden

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
-Include

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
-LiteralPath

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
-Name

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
-Path

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
-ReadOnly

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
-Recurse

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
-System

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 a gci. 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, zadejte Get-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

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.