Извлекает элементы и их потомки из заданных местоположений.

Синтаксис

Get-ChildItem [[-Path] <string[]>] [[-Filter] <string>] [-Exclude <string[]>] [-Force] [-Include <string[]>] [-Name] [-Recurse] [-UseTransaction] [<CommonParameters>]

Get-ChildItem [-LiteralPath] <string[]> [[-Filter] <string>] [-Exclude <string[]>] [-Force] [-Include <string[]>] [-Name] [-Recurse] [-UseTransaction] [<CommonParameters>]

Описание

Командлет Get-ChildItem получает элементы из заданных местоположений. Если элемент является контейнером, данный командлет получает из контейнера элементы, которые называются дочерними элементами. Для извлечения элементов из всех дочерних контейнеров можно использовать параметр Recurse.

Местоположение может являться расположением в файловой системе, например каталогом, либо расположением, предоставляемым другим поставщиком, например кустом реестра или хранилищем сертификатов.

Параметры

-Exclude <string[]>

Исключает указанные элементы. Значение этого параметра определяет значение параметра Path. Введите элемент пути или шаблон, например "*.txt". Подстановочные знаки разрешены.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Filter <string>

Задает фильтр с использованием формата или языка поставщика. Значение этого параметра определяет значение параметра Path. Синтаксис фильтра, в том числе использование подстановочных знаков, зависит от поставщика. Фильтры эффективнее других параметров, потому что поставщик применяет их при извлечении объектов (вместо использования Windows PowerShell для фильтрации извлеченных объектов).

Обязательно?

false

Позиция?

2

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Force

Позволяет командлету получать элементы, которые недоступны пользователю другими способами, например скрытые или системные файлы. Реализация варьируется от поставщика к поставщику. Дополнительные сведения см. в разделе About_Providers. Даже при использовании параметра Force командлет не может переопределить ограничения безопасности.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Include <string[]>

Извлекает только указанные элементы. Значение этого параметра определяет значение параметра Path. Введите элемент пути или шаблон, например "*.txt". Подстановочные знаки разрешены.

Параметр Include действует только в том случае, если команда включает параметр Recurse или путь указывает на содержимое каталога, например "C:\Windows\*", где подстановочный знак определяет содержимое каталога "C:\Windows".

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-LiteralPath <string[]>

Задает путь к одному или нескольким местоположениям. В отличие от значения параметра Path, значение параметра LiteralPath используется точно в том виде, в котором оно введено. Никакие символы не интерпретируются как подстановочные знаки. Если путь включает escape-символы, его нужно заключить в одиночные кавычки. Одиночные кавычки указывают оболочке Windows PowerShell, что никакие символы не следует интерпретировать как escape-символы.

Обязательно?

true

Позиция?

1

Значение по умолчанию

Принимать входные данные из конвейера?

true (ByPropertyName)

Принимать подстановочные знаки?

false

-Name

Извлекает только имена элементов, содержащихся в соответствующих местоположениях. Если вывод этой команды передать по конвейеру другой команде, будут переданы только имена элементов.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Path <string[]>

Задает путь к одному или нескольким местоположениям. Подстановочные знаки разрешены. Местоположением по умолчанию является текущий каталог (.).

Обязательно?

false

Позиция?

1

Значение по умолчанию

Принимать входные данные из конвейера?

true (ByValue, ByPropertyName)

Принимать подстановочные знаки?

false

-Recurse

Получает элементы, содержащиеся в указанных местоположениях и во всех дочерних элементах этих местоположений.

Параметр Recurse работает только в том случае, если путь указывает на контейнер с дочерними элементами, например "C:\Windows" или "C:\Windows\*", и не работает, если путь указывает на элементы без дочерних элементов, например "C:\Windows\*.exe".

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-UseTransaction

Включает команду в активную транзакцию. Этот параметр допустим, только если транзакция выполняется. Дополнительные сведения см. в разделе about_Transactions.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

<CommonParameters>

Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.

Ввод и вывод

Входным типом является тип объектов, которые можно передавать командлету по конвейеру. Возвращаемым типом является тип объектов, возвращаемых командлетом.

Входные данные

System.String

Строку, содержащую путь, можно передать командлету Get-ChildItem по конвейеру.

Выходные данные

Объект.

Тип объекта, возвращаемого командлетом Get-ChildItem, определяется используемым поставщиком.

Примечания

Командлет Get-ChildItem также можно вызывать с помощью встроенных псевдонимов "ls", "dir" и "gci". Дополнительные сведения см. в разделе About_Aliases.

По умолчанию командлет Get-ChildItem не возвращает скрытые элементы. Чтобы получить скрытые элементы, используйте параметр -Force.

Командлет Get-ChildItem предназначен для работы с данными, предоставляемыми любым поставщиком. Чтобы получить список поставщиков, доступных в текущем сеансе, введите команду "Get-PsProvider". Дополнительные сведения см. в разделе About_Providers.

Пример 1

C:\PS>get-childitem

Описание
-----------
Эта команда извлекает дочерние элементы, расположенные в текущем местоположении. Если текущее местоположение является каталогом файловой системы, команда извлекает файлы и вложенные каталоги данного каталога. Если элемент не имеет потомков, то после выполнения команды ничего не показывается.

По умолчанию для каждого файла отображаются следующие сведения: режим (атрибуты), время последней записи, размер файла (длина) и имя. Допустимыми значениями режима являются: d (каталог), a (архивный), r (только чтение), h (скрытый) и s (системный).






Пример 2

C:\PS>get-childitem . -include *.txt -recurse -force

Описание
-----------
Эта команда извлекает все файлы с расширением ".txt" из текущего каталога и вложенных в него каталогов. Точка (.) представляет текущий каталог, а параметр Include задает расширение файла. Параметр Recurse включает в Windows PowerShell режим рекурсивного извлечения объектов, а также показывает, что команда применяется к указанному каталогу и его содержимому. Параметр Force добавляет скрытые файлы в набор отображаемых данных.






Пример 3

C:\PS>get-childitem c:\windows\logs\* -include *.txt -exclude A*

Описание
-----------
Эта команда выдает список всех TXT-файлов вложенного каталога Logs, за исключением тех, имена которых начинаются с буквы "A". Для обозначения содержимого вложенного каталога Logs используется подстановочный знак (*). В команде Get-ChildItem не указан параметр Recurse, поэтому автоматическое включение содержимого каталога не выполняется. Содержимое необходимо задать вручную.






Пример 4

C:\PS>get-childitem registry::hklm\software

Описание
-----------
Эта команда извлекает все подразделы из раздела реестра HKEY_LOCAL_MACHINE\SOFTWARE на локальном компьютере.






Пример 5

C:\PS>get-childitem -name

Описание
-----------
Эта команда извлекает только имена элементов из текущей папки.






Пример 6

C:\PS>get-childitem cert:\. -recurse -codesigningcert

Описание
-----------
Эта команда извлекает все сертификаты из хранилища сертификатов, для которых выдано разрешение на подписывание кода. 

В команде используется командлет Get-ChildItem. Путь задает диск Cert:, предоставляемый поставщиком сертификатов Windows PowerShell. Знак обратной косой черты (\) задает подкаталог хранилища сертификатов, а точка (.) означает текущий каталог, который является корневым каталогом хранилища сертификатов. Параметр Recurse задает рекурсивный поиск.

CodeSigningCertificate является динамическим параметром, обеспечивающим извлечение только сертификатов для подписывания кода. Чтобы получить дополнительные сведения, введите команду "get-help certificate".






Пример 7

C:\PS>get-childitem * -include *.exe

Описание
-----------
Эта команда извлекает все файлы с расширением ".exe"в текущем каталоге. Подстановочный знак (*) обозначает содержимое текущего каталога (не контейнера). При использовании параметра Include без параметра Recurse, задаваемый путь должен указывать на содержимое, а не на контейнер.






См. также