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 <uint>]
[-Force]
[-Name]
[<CommonParameters>]
Get-ChildItem
[[-Filter] <string>]
-LiteralPath <string[]>
[-Include <string[]>]
[-Exclude <string[]>]
[-Recurse]
[-Depth <uint>]
[-Force]
[-Name]
[<CommonParameters>]
Opis
Polecenie cmdlet Get-ChildItem
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 Głębokość, aby ograniczyć liczbę poziomów do cykli.
Get-ChildItem
nie wyświetla pustych katalogów. Gdy polecenie Get-ChildItem
zawiera parametry głębokości lub cykliczne, puste katalogi nie są uwzględniane w danych wyjściowych.
Polecenie cmdlet Get-ChildItem
jest przeznaczone do pracy z elementami udostępnianymi przez dowolnego dostawcę. Na przykład elementy mogą być plikiem systemu plików lub katalogiem, gałąź rejestru lub magazynem certyfikatów. Aby wyświetlić listę dostawców dostępnych w sesji, użyj polecenia Get-PSProvider
. 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 cmdlet Get-ChildItem
używa parametru ścieżki w celu 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 tryb (Atrybuty), LastWriteTime, rozmiar pliku (długość) oraz nazwa elementu. Litery w Mode właściwości 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 cmdlet Get-ChildItem
używa parametru ścieżki w celu określenia katalogu C:\Test
. Parametr Nazwa zwraca tylko nazwy plików lub katalogów z określonej ścieżki. Zwracane 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 cmdlet Get-ChildItem
używa parametru path w celu określenia C:\Test\*.txt
.
ścieżka używa gwiazdki (*
) do określenia wszystkich plików z rozszerzeniem nazwy pliku .txt
. Parametr Recurse wyszukuje katalog ścieżki i jego podkatalogów, jak pokazano w nagłówkach Directory:. Parametr Force wyświetla ukryte pliki, takie jak hiddenfile.txt
, które mają tryb h.
Przykład 4. Pobieranie elementów podrzędnych przy użyciu parametru Include
W tym przykładzie Get-ChildItem
używa parametru Include w celu znalezienia określonych elementów 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 cmdlet Get-ChildItem
używa parametru ścieżki w celu określenia katalogu C:\Test
. Parametr Path zawiera znak wieloznaczny gwiazdki (*
), aby określić zawartość katalogu.
Parametr Include używa gwiazdki (*
) symbol wieloznaczny, aby określić wszystkie pliki z rozszerzeniem nazwy pliku .txt
.
Gdy jest używany parametr Include, parametr path wymaga końcowej gwiazdki (*
) w celu określenia zawartości katalogu. Na przykład -Path C:\Test\*
.
- Jeśli parametr Recurse zostanie dodany do polecenia, znak końcowy gwiazdki (
*
) w parametrze path jest opcjonalny. Parametr Recurse pobiera elementy z katalogu ścieżki 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 powraca 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 cmdlet Get-ChildItem
używa parametru ścieżki w celu określenia katalogu C:\Test\Logs
. Parametr Exclude używa gwiazdki (*
) do określania plików lub katalogów rozpoczynających się od A
lub a
są wykluczone z danych wyjściowych.
Jeśli jest używany parametr Exclude, opcjonalny jest końcowy gwiazdka (*
) w parametrze ścieżka. Na przykład -Path C:\Test\Logs
lub -Path C:\Test\Logs\*
.
- Jeśli w parametrze
*
nie znajduje się gwiazdka (), zostanie wyświetlona zawartość parametru Path. Wyjątki to nazwy plików lub podkatalogów, które są zgodne z wartością parametru Exclude. - Jeśli w parametrze
*
znajduje się końcowa gwiazdka (), polecenie jest powtarzane w podkatalogach parametru Path. Wyjątki to nazwy plików lub podkatalogów, które są zgodne z 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
Ten przykład pobiera wszystkie klucze rejestru z HKEY_LOCAL_MACHINE\HARDWARE
.
Get-ChildItem
używa parametru path w celu określenia klucza rejestru HKLM:\HARDWARE
. Ś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ść klucza rejestru HKLM:\HARDWARE
. Parametr Exclude informuje, Get-ChildItem
nie zwracać żadnych podkluczów 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 Cert:
programu PowerShell, który ma urząd podpisywania kodu.
Polecenie cmdlet Get-ChildItem
używa parametru ścieżka, aby określić dostawcę certyfikatu przy użyciu dysku Cert:
. Parametr Recurse wyszukuje katalog określony przez Path i jego podkatalogach. Parametr CodeSigningCert pobiera tylko certyfikaty z urzędem podpisywania kodu.
Get-ChildItem -Path Cert:\* -Recurse -CodeSigningCert
Aby uzyskać więcej informacji na temat dostawcy certyfikatów i dysku Cert:
, 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 cmdlet Get-ChildItem
używa parametru path w celu określenia C:\Parent
. Parametr głębokości określa dwa poziomy rekursji.
Get-ChildItem
wyświetla zawartość katalogu określonego przez parametr Path oraz dwa poziomy podkatalogów.
Przykład 9. Uzyskiwanie twardych informacji o linkach
W programie PowerShell 6.2 dodano widok alternatywny, aby uzyskać twarde informacje o linkach.
Get-ChildItem -Path C:\PathContainingHardLink | Format-Table -View childrenWithHardLink
Przykład 10: dane wyjściowe dla systemów operacyjnych innych niż Windows
W programie PowerShell 7.1 w systemach Unix Get-ChildItem
zapewnia dane wyjściowe podobne do systemu Unix:
PS> Get-ChildItem /etc/r*
Directory: /etc
UnixMode 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.netboot
lrwxr-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
Nowe właściwości, które są teraz częścią danych wyjściowych, to:
- UnixMode to uprawnienia do plików reprezentowane w systemie Unix
- użytkownik jest właścicielem pliku
- grupa jest właścicielem grupy
- rozmiar jest rozmiarem pliku lub katalogu reprezentowanego w systemie Unix
Nuta
Ta funkcja została przeniesiona z eksperymentalnego do głównego nurtu w programie PowerShell 7.1.
Przykład 11: 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 LinkTarget obiektu systemu plików zwróconej przez Get-ChildItem
i są wyświetlane w domyślnych danych wyjściowych.
PS D:\> New-Item -ItemType Junction -Name tmp -Target $Env:TEMP
PS D:\> Get-ChildItem | Select-Object Name, LinkTarget
Name LinkTarget
---- ----------
tmp C:\Users\user1\AppData\Local\Temp
PS D:\> Get-ChildItem
Directory: D:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
l---- 12/16/2021 9:29 AM tmp -> C:\Users\user1\AppData\Local\Temp
Przykład 12: Pobieranie elementu docelowego linku dla punktu ponownego 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
Nuta
Ten parametr jest dostępny tylko w dostawcy FileSystem.
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 często używanymi atrybutami, użyj parametru Attributes. Lub parametry Directory, File, Hidden, ReadOnlyi System.
Parametr atrybutów obsługuje następujące wartości:
Archive
Compressed
Device
Directory
Encrypted
Hidden
IntegrityStream
Normal
NoScrubData
NotContentIndexed
Offline
ReadOnly
ReparsePoint
SparseFile
System
Temporary
Aby uzyskać opis tych atrybutów, zapoznaj się z wyliczeniem FileAttributes.
Aby połączyć atrybuty, użyj następujących operatorów:
-
!
(NIE) -
+
(AND) -
,
(OR)
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
Nuta
Ten parametr jest dostępny tylko w dostawcy certyfikatów.
Aby uzyskać listę certyfikatów, które mają Code Signing
w EnhancedKeyUsageList wartości właściwości, 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 podkatalogu, które są uwzględnione w rekursji i wyświetla zawartość.
Na przykład -Depth 2
zawiera 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.
Nuta
Na komputerze z systemem Windows z programu PowerShell lub cmd.exemoż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
Nuta
Ten parametr jest dostępny tylko w dostawcy FileSystem.
Aby uzyskać listę katalogów, użyj parametru directory lub parametru Attributes z właściwością Directory Directory. Możesz użyć parametru Recurse z Directory.
Typ: | SwitchParameter |
Aliasy: | ad |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-DnsName
Nuta
Ten parametr jest dostępny tylko w dostawcy certyfikatów.
Określa wzorzec nazwy domeny lub nazwy, który ma być zgodny z właściwością DNSNameList certyfikatów pobierane przez polecenie cmdlet. Wartość tego parametru może być Unicode
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
Nuta
Ten parametr jest dostępny tylko w dostawcy certyfikatów.
Aby uzyskać listę certyfikatów, które mają Document Encryption
w EnhancedKeyUsageList wartości właściwości, 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
Nuta
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.
Końcowa gwiazdka (*
) w parametrze Path jest opcjonalna. Na przykład -Path C:\Test\Logs
lub -Path C:\Test\Logs\*
. Jeśli dołączana jest końcowa gwiazdka (*
), polecenie jest powtarzane w podkatalogach 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 Include and Exclude można używać razem. Jednak wykluczenia są stosowane po włączeniu, co może mieć wpływ na końcowe dane wyjściowe.
Typ: | String[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | True |
-ExpiringInDays
Nuta
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
Nuta
Ten parametr jest dostępny tylko w dostawcy FileSystem.
Aby uzyskać listę plików, użyj parametru File. Możesz użyć parametru Recurse z File.
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żki. Dostawca FileSystem jest jedynym zainstalowanym dostawcą programu PowerShell obsługującym 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 |
-FollowSymlink
Nuta
Ten parametr jest dostępny tylko w dostawcy FileSystem.
Domyślnie polecenie cmdlet Get-ChildItem
wyświetla linki symboliczne do katalogów znalezionych podczas rekursji, ale nie jest w nich powtarzane. Użyj parametru FollowSymlink, aby wyszukać katalogi, które dotyczą 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ę w zależności od dostawcy. 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
Nuta
Ten parametr jest dostępny tylko w dostawcy FileSystem.
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ść katalogu C:\Windows
.
Parametry Include and Exclude można używać razem. Jednak wykluczenia są stosowane po włączeniu, co może mieć wpływ na końcowe dane wyjściowe.
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ść LiteralPath 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.
Typ: | String[] |
Aliasy: | PSPath, LP |
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ń. Zwracane 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. Jeśli nie zostanie określony, domyślną lokalizacją jest bieżący katalog (.
). Symbole wieloznaczne są akceptowane. Należy zachować ostrożność podczas używania parametru path z parametrem Recurse. Aby uzyskać więcej informacji, zobacz sekcję NOTES tego artykułu.
Typ: | String[] |
Position: | 0 |
Domyślna wartość: | Current directory |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | True |
-ReadOnly
Nuta
Ten parametr jest dostępny tylko w dostawcy FileSystem.
Aby uzyskać tylko elementy tylko do odczytu, użyj parametru ReadOnly lub Attributes parametru 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
Nuta
Ten parametr jest dostępny tylko w dostawcy certyfikatów.
Aby uzyskać listę certyfikatów, które mają Server Authentication
w EnhancedKeyUsageList wartości właściwości, 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
Nuta
Ten parametr jest dostępny tylko w dostawcy FileSystem.
Pobiera tylko pliki systemowe i katalogi. Aby uzyskać tylko pliki systemowe i foldery, użyj parametru system systemowego lub atrybutów parametru System.
Typ: | SwitchParameter |
Aliasy: | as |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
Dane wejściowe
Możesz potokować ciąg zawierający ścieżkę do tego polecenia cmdlet.
Dane wyjściowe
Polecenie cmdlet zwraca ten typ podczas uzyskiwania dostępu do dysku Alias:
.
Polecenie cmdlet zwraca te typy podczas uzyskiwania dostępu do dysku Cert:
.
Polecenie cmdlet zwraca ten typ podczas uzyskiwania dostępu do dysku Env:
.
Polecenie cmdlet zwraca te typy podczas uzyskiwania dostępu do dysków systemu plików.
Polecenie cmdlet zwraca te typy podczas uzyskiwania dostępu do dysków Function:
.
Polecenie cmdlet zwraca ten typ podczas uzyskiwania dostępu do dysków rejestru.
Polecenie cmdlet zwraca ten typ podczas uzyskiwania dostępu do dysków Variable:
.
Polecenie cmdlet zwraca te typy podczas uzyskiwania dostępu do dysków WSMan:
.
Jeśli używasz parametru Name, to polecenie cmdlet zwraca nazwy obiektów jako ciągi.
Uwagi
Program PowerShell zawiera następujące aliasy dla Get-ChildItem
:
- Wszystkie platformy:
-
dir
,gci
-
- Windows:
ls
zachowanie rekursji z parametrem Path:
Jeśli używasz Get-ChildItem -Recurse
z parametrem ścieżka, polecenie cmdlet wyszukuje ostatni składnik ścieżki, niezależnie od tego, czy jest to wzorzec wieloznaczny, czy nazwa literału.
- Jeśli ostatni składnik ścieżki pasuje do istniejącego bezpośredniego podkatalogu katalogu docelowego, polecenie cmdlet wykonuje rekursywne wyliczenie w pasującym katalogu.
- Jeśli ostatni składnik ścieżki nie pasuje do istniejącego bezpośredniego podkatalogu katalogu docelowego, polecenie cmdlet cyklicznie przeszukuje hierarchię katalogu docelowego dla elementów pasujących do ostatniego składnika ścieżki
W przypadku używania Get-ChildItem -Recurse
z parametrami path i Name zachowanie się zmienia. Polecenie wyszukuje ostatni składnik ścieżki wśród natychmiastowych elementów podrzędnych katalogu docelowego.
- Jeśli istnieje dopasowanie między bezpośrednimi elementami podrzędnymi, polecenie cmdlet wykonuje rekursywne wyliczenie na pasujących elementach. Dopasowywanie symboli wieloznacznych odbywa się tylko raz na najwyższym poziomie katalogu docelowego. Wyniki są przetwarzane tak, jakby zostały one indywidualnie przekazane do parametru LiteralPath.
- Jeśli ostatni składnik ścieżki nie jest zgodny z żadnymi elementami na najwyższym poziomie, wystąpi błąd.
Należy unikać używania parametru path z parametrem Recurse. Aby uzyskać najlepsze wyniki:
- Użyj LiteralPath, aby określić katalog docelowy, aby uniknąć wyzwalania cyklicznego wyszukiwania dla ostatniego składnika ścieżki.
- Użyj filtru lub Uwzględnij parametry, aby określić wzorce wieloznaczne lub literału, które powinny być wyszukiwane na każdym poziomie hierarchii katalogu docelowego.