Udostępnij za pośrednictwem


Get-ChildItem

Pobiera elementy i elementy podrzędne w co najmniej jednej określonej lokalizacji.

Składnia

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 <uint>]
   [-Force]
   [-Name]
   [<CommonParameters>]
Get-ChildItem
   [[-Path] <string[]>]
   [[-Filter] <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Recurse]
   [-Depth <uint>]
   [-Force]
   [-Name]
   [-CodeSigningCert]
   [-DocumentEncryptionCert]
   [-SSLServerAuthentication]
   [-DnsName <string>]
   [-Eku <string[]>]
   [-ExpiringInDays <int>]
   [<CommonParameters>]
Get-ChildItem
   [[-Filter] <string>]
   -LiteralPath <string[]>
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Recurse]
   [-Depth <uint>]
   [-Force]
   [-Name]
   [-CodeSigningCert]
   [-DocumentEncryptionCert]
   [-SSLServerAuthentication]
   [-DnsName <string>]
   [-Eku <string[]>]
   [-ExpiringInDays <int>]
   [<CommonParameters>]
Get-ChildItem
   [[-Path] <string[]>]
   [[-Filter] <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Recurse]
   [-Depth <uint>]
   [-Force]
   [-Name]
   [-Attributes <FlagsExpression[FileAttributes]>]
   [-FollowSymlink]
   [-Directory]
   [-File]
   [-Hidden]
   [-ReadOnly]
   [-System]
   [<CommonParameters>]
Get-ChildItem
   [[-Filter] <string>]
   -LiteralPath <string[]>
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Recurse]
   [-Depth <uint>]
   [-Force]
   [-Name]
   [-Attributes <FlagsExpression[FileAttributes]>]
   [-FollowSymlink]
   [-Directory]
   [-File]
   [-Hidden]
   [-ReadOnly]
   [-System]
   [<CommonParameters>]

Opis

Polecenie Get-ChildItem cmdlet pobiera elementy w co najmniej jednej określonej lokalizacji. Jeśli element jest kontenerem, pobiera elementy wewnątrz kontenera, znane jako elementy podrzędne. Możesz użyć parametru Recurse , aby pobrać elementy we wszystkich kontenerach podrzędnych i użyć parametru Depth , aby ograniczyć liczbę poziomów do powtarzania.

Get-ChildItem nie wyświetla pustych katalogów. Get-ChildItem Gdy polecenie zawiera parametry Głębokość lub Recurse, puste katalogi nie są uwzględniane w danych wyjściowych.

Lokalizacje są udostępniane Get-ChildItem przez dostawców programu PowerShell. Lokalizacją może być katalog systemu plików, gałąź rejestru lub magazyn certyfikatów. Niektóre parametry są dostępne tylko dla określonego dostawcy. Aby uzyskać więcej informacji, zobacz about_Providers.

Przykłady

Przykład 1. Pobieranie elementów podrzędnych z katalogu systemu plików

Ten przykład pobiera elementy podrzędne z katalogu systemu plików. Zostaną wyświetlone nazwy plików i podkatalogów. W przypadku pustych lokalizacji polecenie nie zwraca żadnych danych wyjściowych i wraca do wiersza polecenia programu PowerShell.

Polecenie Get-ChildItem cmdlet używa parametru Path do określenia katalogu C:\Test. Get-ChildItem wyświetla pliki i katalogi w konsoli programu PowerShell.

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

Domyślnie Get-ChildItem wyświetla listę trybów (atrybutów), LastWriteTime, rozmiar pliku (długość) i nazwę elementu. Litery we właściwości Mode można interpretować w następujący sposób:

  • l (link)
  • d (katalog)
  • a (archiwum)
  • r (tylko do odczytu)
  • h (ukryte)
  • s (system)

Aby uzyskać więcej informacji na temat flag trybu, zobacz about_Filesystem_Provider.

Przykład 2. Pobieranie nazw elementów podrzędnych w katalogu

W tym przykładzie wymieniono tylko nazwy elementów w katalogu.

Polecenie Get-ChildItem cmdlet używa parametru Path do określenia katalogu C:\Test. Parametr Name zwraca tylko nazwy plików lub katalogów z określonej ścieżki. Zwrócone nazwy są względne względem wartości parametru Path .

Get-ChildItem -Path C:\Test -Name

Logs
anotherfile.txt
Command.txt
CreateTestFile.ps1
ReadOnlyFile.txt

Przykład 3. Pobieranie elementów podrzędnych w bieżącym katalogu i podkatalogach

W tym przykładzie są wyświetlane .txt pliki znajdujące się w bieżącym katalogu i jego podkatalogach.

Get-ChildItem -Path .\*.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

Polecenie Get-ChildItem cmdlet używa parametru Path do określenia C:\Test\*.txt. Ścieżka używa symbolu wieloznakowego gwiazdki (*), aby określić wszystkie pliki z rozszerzeniem .txtnazwy pliku . Parametr Recurse wyszukuje katalog Path i jego podkatalogi, jak pokazano w nagłówkach Directory: . Parametr Force wyświetla ukryte pliki, takie jak hiddenfile.txt tryb h.

Przykład 4. Pobieranie elementów podrzędnych przy użyciu parametru Include

W tym przykładzie Get-ChildItem użyto parametru Include , aby znaleźć określone elementy z katalogu określonego przez parametr 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 *.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

Polecenie Get-ChildItem cmdlet używa parametru Path do określenia katalogu C:\Test. Parametr Path zawiera znak wieloznaczny gwiazdki (*), aby określić zawartość katalogu. Parametr Include używa symbolu wieloznakowego gwiazdki (*), aby określić wszystkie pliki z rozszerzeniem .txtnazwy pliku .

Gdy parametr Include jest używany, parametr Path wymaga końcowej gwiazdki (*) symbol wieloznaczny, aby określić zawartość katalogu. Na przykład -Path C:\Test\*.

  • Jeśli parametr Recurse zostanie dodany do polecenia, końcowy gwiazdka (*) w parametrze Path jest opcjonalna. Parametr Recurse pobiera elementy z katalogu Path i jego podkatalogów. Na przykład -Path C:\Test\ -Recurse -Include *.txt
  • Jeśli końcowa gwiazdka (*) nie jest uwzględniona w parametrze Path , polecenie nie zwraca żadnych danych wyjściowych i wraca do wiersza polecenia programu PowerShell. Na przykład -Path C:\Test\.

Przykład 5. Pobieranie elementów podrzędnych przy użyciu parametru Exclude

Dane wyjściowe przykładu przedstawiają zawartość katalogu C:\Test\Logs. Dane wyjściowe to odwołanie do innych poleceń, które używają parametrów Exclude i 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

Polecenie Get-ChildItem cmdlet używa parametru Path do określenia katalogu C:\Test\Logs. Parametr Exclude używa symbolu wieloznakowego gwiazdki (*), aby określić wszystkie pliki lub katalogi, które zaczynają się od A lub a są wykluczone z danych wyjściowych.

Gdy jest używany parametr Exclude, znak gwiazdki (*) w parametrze Path jest opcjonalny. Na przykład: -Path C:\Test\Logs lub -Path C:\Test\Logs\*.

  • Jeśli końcowa gwiazdka (*) nie jest uwzględniona w parametrze Path, zostanie wyświetlona zawartość parametru Path. Wyjątki to nazwy plików lub podkatalogów, które pasują do wartości parametru Exclude .
  • Jeśli w parametrze Path znajduje się końcowa gwiazdka (*), polecenie jest powtarzane w podkatalogach parametru Path. Wyjątki to nazwy plików lub podkatalogów, które pasują do wartości parametru Exclude .
  • Jeśli parametr Recurse zostanie dodany do polecenia, dane wyjściowe rekursji są takie same, czy parametr Path zawiera końcową gwiazdkę (*).

Przykład 6. Pobieranie kluczy rejestru z gałęzi rejestru

W tym przykładzie są pobierane wszystkie klucze rejestru z HKEY_LOCAL_MACHINE\HARDWAREpliku .

Get-ChildItem używa parametru Path , aby określić klucz HKLM:\HARDWARErejestru . Ścieżka hive i najwyższy poziom kluczy rejestru są wyświetlane w konsoli programu PowerShell.

Aby uzyskać więcej informacji, zobacz 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

Pierwsze polecenie pokazuje zawartość HKLM:\HARDWARE klucza rejestru. Parametr Exclude informuje Get-ChildItem , aby nie zwracać żadnych podklucza rozpoczynających się od D*. Obecnie parametr Exclude działa tylko w podkluczach, a nie we właściwościach elementu.

Przykład 7. Pobieranie wszystkich certyfikatów z urzędem podpisywania kodu

Ten przykład pobiera każdy certyfikat na dysku programu PowerShell Cert: , który ma urząd podpisywania kodu.

Polecenie Get-ChildItem cmdlet używa parametru Path , aby określić dostawcę certyfikatu z dyskiem Cert: . Parametr Recurse wyszukuje katalog określony przez ścieżkę i jego podkatalogi. Parametr CodeSigningCert pobiera tylko certyfikaty, które mają urząd podpisywania kodu.

Get-ChildItem -Path Cert:\* -Recurse -CodeSigningCert

Aby uzyskać więcej informacji na temat dostawcy certyfikatów Cert: i dysku, zobacz about_Certificate_Provider.

Przykład 8. Pobieranie elementów przy użyciu parametru Głębokość

W tym przykładzie przedstawiono elementy w katalogu i jego podkatalogach. Parametr Głębokość określa liczbę poziomów podkatalogu do uwzględnienia w rekursji. Puste katalogi są wykluczone z danych wyjściowych.

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

Polecenie Get-ChildItem cmdlet używa parametru Path do określenia C:\Parent. Parametr Głębokość określa dwa poziomy rekursji. Get-ChildItem Wyświetla zawartość katalogu określonego przez parametr Path i dwa poziomy podkatalogów.

Przykład 9. Pobieranie obiektu docelowego łącza dla punktu skrzyżowania

Polecenie dir w powłoce poleceń systemu Windows pokazuje lokalizację docelową punktu skrzyżowania systemu plików. W programie PowerShell te informacje są dostępne we właściwości Target obiektu systemu plików zwróconego przez Get-ChildItemelement .

PS D:\> New-Item -ItemType Junction -Name tmp -Target $env:TEMP
PS D:\> Get-ChildItem | Select-Object name,*target

Name     Target
----     ------
tmp      {C:\Users\user1\AppData\Local\Temp}

Przykład 10: Pobieranie elementu docelowego linku dla punktu ponownej analizy AppX

W tym przykładzie próbuje uzyskać informacje docelowe dla punktu ponownego analizy AppX. Aplikacje ze sklepu Microsoft Store tworzą punkty ponownej analizy AppX w katalogu AppData użytkownika.

Get-ChildItem ~\AppData\Local\Microsoft\WindowsApps\MicrosoftEdge.exe |
    Select-Object Mode, LinkTarget, LinkType, Name

Mode  LinkTarget LinkType Name
----  ---------- -------- ----
la---                     MicrosoftEdge.exe

W tej chwili system Windows nie zapewnia sposobu uzyskiwania informacji docelowych dla punktu ponownej analizy AppX. Właściwości LinkTarget i LinkType obiektu systemu plików są puste.

Parametry

-Attributes

Uwaga

Ten parametr jest dostępny tylko w dostawcy systemu plików.

Pobiera pliki i foldery z określonymi atrybutami. Ten parametr obsługuje wszystkie atrybuty i umożliwia określenie złożonych kombinacji atrybutów.

Aby na przykład pobrać pliki inne niż systemowe (nie katalogi), które są szyfrowane lub skompresowane, wpisz:

Get-ChildItem -Attributes !Directory+!System+Encrypted, !Directory+!System+Compressed

Aby znaleźć pliki i foldery z powszechnie używanymi atrybutami, użyj parametru Atrybuty . Lub parametry Directory, File, Hidden, ReadOnly i System.

Parametr Attributes obsługuje następujące właściwości:

  • Archiwizowanie
  • Skompresowane
  • Device
  • Katalog
  • Szyfrowane
  • Ukryty
  • IntegrityStream
  • Normalne
  • NoScrubData
  • NotContentIndexed
  • Offline
  • ReadOnly
  • ReparsePoint
  • Plik rozrzedny
  • Zadania systemowe
  • Tymczasowe

Opis tych atrybutów można znaleźć w wyliczenie FileAttributes.

Aby połączyć atrybuty, użyj następujących operatorów:

  • ! (NIE)
  • + (AND)
  • , (LUB)

Nie używaj spacji między operatorem i jego atrybutem. Spacje są akceptowane po przecinkach.

W przypadku typowych atrybutów użyj następujących skrótów:

  • D (Katalog)
  • H (Ukryte)
  • R (Tylko do odczytu)
  • S (System)
Typ:FlagsExpression<T>[FileAttributes]
Dopuszczalne wartości:Archive, Compressed, Device, Directory, Encrypted, Hidden, IntegrityStream, Normal, NoScrubData, NotContentIndexed, Offline, ReadOnly, ReparsePoint, SparseFile, System, Temporary
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-CodeSigningCert

Uwaga

Ten parametr jest dostępny tylko w dostawcy certyfikatów.

Aby uzyskać listę certyfikatów z Code Signing wartością właściwości EnhancedKeyUsageList , użyj parametru CodeSigningCert .

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Depth

Ten parametr został dodany w programie PowerShell 5.0 i umożliwia kontrolowanie głębokości rekursji. Domyślnie Get-ChildItem wyświetla zawartość katalogu nadrzędnego. Parametr Głębokość określa liczbę poziomów podkatalogów uwzględnionych w rekursji i wyświetla zawartość.

Na przykład -Depth 2 obejmuje katalog parametru Path , pierwszy poziom podkatalogów i drugi poziom podkatalogów. Domyślnie nazwy katalogów i nazwy plików są uwzględniane w danych wyjściowych.

Uwaga

Na komputerze z systemem Windows za pomocą programu PowerShell lub cmd.exe można wyświetlić graficzny widok struktury katalogów za pomocą polecenia tree.com .

Typ:UInt32
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Directory

Uwaga

Ten parametr jest dostępny tylko w dostawcy systemu plików.

Aby uzyskać listę katalogów, użyj parametru Directory lub parametru Attributes z właściwością Directory . Możesz użyć parametru Recurse z katalogiem.

Typ:SwitchParameter
Aliasy:ad, d
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-DnsName

Uwaga

Ten parametr jest dostępny tylko w dostawcy certyfikatów.

Określa nazwę domeny lub wzorzec nazwy, który ma być zgodny z właściwością DNSNameList certyfikatów pobierane przez polecenie cmdlet. Wartość tego parametru może mieć Unicode wartość lub ASCII. Wartości punycode są konwertowane na Unicode. Dozwolone są symbole wieloznaczne (*).

Ten parametr został przywrócony w programie PowerShell 7.1

Typ:DnsNameRepresentation
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:True

-DocumentEncryptionCert

Uwaga

Ten parametr jest dostępny tylko w dostawcy certyfikatów.

Aby uzyskać listę certyfikatów z Document Encryption wartością właściwości EnhancedKeyUsageList , użyj parametru DocumentEncryptionCert .

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Eku

Uwaga

Ten parametr jest dostępny tylko w dostawcy certyfikatów.

Określa tekst lub wzorzec tekstu zgodny z właściwością EnhancedKeyUsageList certyfikatów pobierane przez polecenie cmdlet. Dozwolone są symbole wieloznaczne (*). Właściwość EnhancedKeyUsageList zawiera przyjazną nazwę i pola identyfikatora OID EKU.

Ten parametr został przywrócony w programie PowerShell 7.1

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:True

-Exclude

Określa tablicę z co najmniej jednym wzorcem ciągów, które mają być dopasowane, gdy polecenie cmdlet pobiera elementy podrzędne. Każdy pasujący element jest wykluczony z danych wyjściowych. Wprowadź element ścieżki lub wzorzec, taki jak *.txt lub A*. Akceptowane są symbole wieloznaczne.

Znak gwiazdki (*) w parametrze Ścieżka jest opcjonalny. Na przykład: -Path C:\Test\Logs lub -Path C:\Test\Logs\*. Jeśli dołączana jest końcowa gwiazdka (*), polecenie powraca do podkatalogów parametru Path . Bez gwiazdki (*) wyświetlana jest zawartość parametru Path . Więcej szczegółów można znaleźć w sekcji Przykład 5 i Uwagi.

Parametry Dołączanie i Wykluczanie można używać razem. Jednak wykluczenia są stosowane po włączeniu, co może mieć wpływ na końcowe dane wyjściowe.

Uwaga

Parametry Dołączanie i Wykluczanie nie mają żadnego efektu w przypadku użycia z parametrem LiteralPath. Jest to naprawione w programie PowerShell 7.

Typ:String[]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:True

-ExpiringInDays

Uwaga

Ten parametr jest dostępny tylko w dostawcy certyfikatów.

Określa, że polecenie cmdlet powinno zwracać tylko certyfikaty wygasające lub przed określoną liczbą dni. Wartość zero (0) pobiera certyfikaty, które wygasły.

Ten parametr został przywrócony w programie PowerShell 7.1

Typ:Int32
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-File

Uwaga

Ten parametr jest dostępny tylko w dostawcy systemu plików.

Aby uzyskać listę plików, użyj parametru Plik . Możesz użyć parametru Recurse z plikiem.

Typ:SwitchParameter
Aliasy:af
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Filter

Określa filtr, aby zakwalifikować parametr Ścieżka . Dostawca systemu plików jest jedynym zainstalowanym dostawcą programu PowerShell, który obsługuje filtry. Filtry są bardziej wydajne niż inne parametry. Dostawca stosuje filtr, gdy polecenie cmdlet pobiera obiekty, a nie program PowerShell filtruje obiekty po ich pobraniu. Ciąg filtru jest przekazywany do interfejsu API platformy .NET w celu wyliczenia plików. Interfejs API obsługuje * tylko symbole wieloznaczne i ? .

Typ:String
Position:1
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:True

Uwaga

Ten parametr jest dostępny tylko w dostawcy systemu plików.

Domyślnie polecenie Get-ChildItem cmdlet wyświetla symboliczne linki do katalogów znalezionych podczas rekursji, ale nie jest w nich powtarzane. Użyj parametru FollowSymlink , aby wyszukać katalogi przeznaczone dla tych linków symbolicznych. FollowSymlink jest parametrem dynamicznym i jest obsługiwany tylko w dostawcy systemu plików.

Ten parametr został wprowadzony w programie PowerShell 6.0.

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Force

Umożliwia poleceniem cmdlet pobieranie elementów, do których w przeciwnym razie użytkownik nie może uzyskać dostępu, takich jak ukryte lub systemowe pliki. Parametr Force nie zastępuje ograniczeń zabezpieczeń. Implementacja różni się między dostawcami. Aby uzyskać więcej informacji, zobacz about_Providers.

Typ:SwitchParameter
Position:Named
Domyślna wartość:False
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Hidden

Uwaga

Ten parametr jest dostępny tylko w dostawcy systemu plików.

Aby uzyskać tylko ukryte elementy, użyj parametru Hidden lub parametru Attributes z właściwością Hidden . Domyślnie Get-ChildItem nie wyświetla ukrytych elementów. Użyj parametru Force , aby uzyskać ukryte elementy.

Typ:SwitchParameter
Aliasy:ah, h
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Include

Określa tablicę z co najmniej jednym wzorcem ciągów, które mają być dopasowane, gdy polecenie cmdlet pobiera elementy podrzędne. Wszystkie pasujące elementy są uwzględniane w danych wyjściowych. Wprowadź element ścieżki lub wzorzec, taki jak "*.txt". Dozwolone są symbole wieloznaczne. Parametr Include jest skuteczny tylko wtedy, gdy polecenie zawiera zawartość elementu, na przykład C:\Windows\*, gdzie symbol wieloznaczny określa zawartość C:\Windows katalogu.

Parametry Dołączanie i Wykluczanie można używać razem. Jednak wykluczenia są stosowane po włączeniu, co może mieć wpływ na końcowe dane wyjściowe.

Uwaga

Parametry Dołączanie i Wykluczanie nie mają żadnego efektu w przypadku użycia z parametrem LiteralPath. Jest to naprawione w programie PowerShell 7.

Typ:String[]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:True

-LiteralPath

Określa ścieżkę do co najmniej jednej lokalizacji. Wartość LiterałuPath jest używana dokładnie tak, jak jest typowana. Znaki nie są interpretowane jako symbole wieloznaczne. Jeśli ścieżka zawiera znaki ucieczki, należy ująć ją w pojedynczy cudzysłów. Pojedyncze cudzysłowy informują program PowerShell, aby nie interpretował żadnych znaków jako sekwencji ucieczki.

Aby uzyskać więcej informacji, zobacz about_Quoting_Rules.

Uwaga

Parametry Dołączanie i Wykluczanie nie mają żadnego efektu w przypadku użycia z parametrem LiteralPath. Jest to naprawione w programie PowerShell 7.

Typ:String[]
Aliasy:PSPath
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-Name

Pobiera tylko nazwy elementów w lokalizacji. Dane wyjściowe to obiekt ciągu, który można wysłać w dół potoku do innych poleceń. Zwrócone nazwy są względne względem wartości parametru Path .

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Path

Określa ścieżkę do co najmniej jednej lokalizacji. Symbole wieloznaczne są akceptowane. Domyślną lokalizacją jest bieżący katalog (.).

Typ:String[]
Position:0
Domyślna wartość:Current directory
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:True

-ReadOnly

Uwaga

Ten parametr jest dostępny tylko w dostawcy systemu plików.

Aby uzyskać tylko elementy tylko do odczytu, użyj parametru ReadOnly lub właściwości Atrybuty ReadOnly.

Typ:SwitchParameter
Aliasy:ar
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Recurse

Pobiera elementy w określonych lokalizacjach i we wszystkich elementach podrzędnych lokalizacji.

Typ:SwitchParameter
Aliasy:s
Position:Named
Domyślna wartość:False
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-SSLServerAuthentication

Uwaga

Ten parametr jest dostępny tylko w dostawcy certyfikatów.

Aby uzyskać listę certyfikatów z Server Authentication wartością właściwości EnhancedKeyUsageList , użyj parametru SSLServerAuthentication .

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-System

Uwaga

Ten parametr jest dostępny tylko w dostawcy systemu plików.

Pobiera tylko pliki systemowe i katalogi. Aby uzyskać tylko pliki systemowe i foldery, użyj właściwości System parametru systemowego lub atrybutów.

Typ:SwitchParameter
Aliasy:as
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-UseTransaction

Zawiera polecenie w aktywnej transakcji. Ten parametr jest prawidłowy tylko wtedy, gdy transakcja jest w toku. Aby uzyskać więcej informacji, zobacz about_Transactions.

Typ:SwitchParameter
Aliasy:usetx
Position:Named
Domyślna wartość:False
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

Dane wejściowe

String

Możesz potokować ciąg zawierający ścieżkę do tego polecenia cmdlet.

Dane wyjściowe

AliasInfo

Polecenie cmdlet zwraca ten typ podczas uzyskiwania Alias: dostępu do dysku.

X509StoreLocation

X509Store

X509Certificate2

Polecenie cmdlet zwraca te typy podczas uzyskiwania Cert: dostępu do dysku.

DictionaryEntry

Polecenie cmdlet zwraca ten typ podczas uzyskiwania Env: dostępu do dysku.

DirectoryInfo

FileInfo

Polecenie cmdlet zwraca te typy podczas uzyskiwania dostępu do dysków systemu plików.

FunctionInfo

FilterInfo

Polecenie cmdlet zwraca te typy podczas uzyskiwania Function: dostępu do dysków.

RegistryKey

Polecenie cmdlet zwraca ten typ podczas uzyskiwania dostępu do dysków rejestru.

PSVariable

Polecenie cmdlet zwraca ten typ podczas uzyskiwania Variable: dostępu do dysków.

WSManConfigContainerElement

WSManConfigLeafElement

Polecenie cmdlet zwraca te typy podczas uzyskiwania WSMan: dostępu do dysków.

String

Gdy używasz parametru Name , to polecenie cmdlet zwraca nazwy obiektów jako ciągi.

Uwagi

Program Windows PowerShell zawiera następujące aliasy dla programu Get-ChildItem:

  • ls
  • dir
  • gci

Get-ChildItem domyślnie nie pobiera ukrytych elementów. Aby uzyskać ukryte elementy, użyj parametru Force .

Polecenie Get-ChildItem cmdlet jest przeznaczone do pracy z danymi udostępnianymi przez dowolnego dostawcę. Aby wyświetlić listę dostawców dostępnych w sesji, wpisz Get-PSProvider. Aby uzyskać więcej informacji, zobacz about_Providers.