Команда Ls PowerShell для Windows
Обновлено: 21.11.2024
Получает элементы и дочерние элементы в одном или нескольких указанных местоположениях.
Синтаксис
Описание
Командлет Get-ChildItem получает элементы в одном или нескольких указанных расположениях. Если элемент является контейнером, он получает элементы внутри контейнера, называемые дочерними элементами. Вы можете использовать параметр Recurse, чтобы получить элементы во всех дочерних контейнерах, и использовать параметр Depth, чтобы ограничить количество уровней для рекурсии.
Get-ChildItem не отображает пустые каталоги. Если команда Get-ChildItem включает параметры Depth или Recurse, пустые каталоги не включаются в выходные данные.
Расположения предоставляются Get-ChildItem поставщиками PowerShell. Местоположение может быть каталогом файловой системы, кустом реестра или хранилищем сертификатов. Дополнительные сведения см. в разделе about_Providers.
Примеры
Пример 1. Получение дочерних элементов из каталога файловой системы
В этом примере дочерние элементы извлекаются из каталога файловой системы. Отображаются имена файлов и подкаталогов. Для пустых местоположений команда не возвращает никаких выходных данных и возвращается к командной строке PowerShell.
Командлет Get-ChildItem использует параметр Path для указания каталога C:\Test . Командлет Get-ChildItem отображает файлы и каталоги в консоли PowerShell.
По умолчанию Get-ChildItem перечисляет режим (атрибуты), LastWriteTime, размер файла (длина) и имя элемента. Буквы в свойстве Mode можно интерпретировать следующим образом:
- л (ссылка)
- d (каталог)
- а (архив)
- r (только для чтения)
- ч (скрыто)
- s (система).
Дополнительную информацию о флагах режима см. в разделе about_Filesystem_Provider.
Пример 2. Получение имен дочерних элементов в каталоге
В этом примере перечислены только имена элементов в каталоге.
Командлет Get-ChildItem использует параметр Path для указания каталога C:\Test . Параметр Name возвращает только имена файлов или каталогов по указанному пути.
Пример 3. Получение дочерних элементов в текущем каталоге и подкаталогах
В этом примере отображаются файлы .txt, расположенные в текущем каталоге и его подкаталогах.
Командлет Get-ChildItem использует параметр Path для указания C:\Test\*.txt . Путь использует подстановочный знак звездочки ( * ) для указания всех файлов с расширением имени файла .txt . Параметр Recurse ищет в каталоге Path его подкаталоги, как показано в заголовках Directory:. Параметр Force отображает скрытые файлы, такие как hiddenfile.txt, которые имеют режим h.
Пример 4. Получение дочерних элементов с помощью параметра Include
В этом примере командлет Get-ChildItem использует параметр Include для поиска определенных элементов в каталоге, указанном параметром Path.
Командлет Get-ChildItem использует параметр Path для указания каталога C:\Test. Параметр Path включает завершающую звездочку ( * ) для указания содержимого каталога. Параметр Include использует подстановочный знак звездочки ( * ) для указания всех файлов с расширением имени файла .txt.
При использовании параметра Include параметру Path требуется завершающая звездочка ( * ) для указания содержимого каталога. Например, -Путь C:\Test\* .
- Если в команду добавлен параметр Recurse, завершающая звездочка ( * ) в параметре Path необязательна. Параметр Recurse получает элементы из каталога Path и его подкаталогов. Например, -Путь C:\Test\ -Recurse -Include *.txt
- Если в параметре Path не указана завершающая звездочка ( * ), команда не возвращает никаких выходных данных и возвращается к командной строке PowerShell. Например, -Путь C:\Test\ .
Пример 5. Получение дочерних элементов с помощью параметра Exclude
Вывод примера показывает содержимое каталога C:\Test\Logs. Результат является ссылкой для других команд, использующих параметры Exclude и Recurse.
Командлет Get-ChildItem использует параметр Path для указания каталога C:\Test\Logs . Параметр Exclude использует подстановочный знак звездочки ( * ), чтобы указать, что любые файлы или каталоги, начинающиеся с A или a, исключаются из выходных данных.
При использовании параметра Exclude звездочка ( * ) в конце параметра Path необязательна. Например, -Path C:\Test\Logs или -Path C:\Test\Logs\* .
- Если в параметре "Путь" отсутствует завершающая звездочка ( * ), отображается содержимое параметра "Путь". Исключениями являются имена файлов или подкаталогов, соответствующие значению параметра Exclude.
- Если в параметре "Путь" указана завершающая звездочка ( * ), команда рекурсивно переходит в подкаталоги параметра "Путь". Исключениями являются имена файлов или подкаталогов, соответствующие значению параметра Exclude.
- Если в команду добавлен параметр Recurse, выходные данные рекурсии будут одинаковыми независимо от того, содержит ли параметр Path завершающую звездочку ( * ).
Пример 6. Получение ключей реестра из куста реестра
В этом примере все ключи реестра извлекаются из HKEY_LOCAL_MACHINE\HARDWARE .
Командлет Get-ChildItem использует параметр Path для указания раздела реестра HKLM:\HARDWARE . Путь к кусту и ключи реестра верхнего уровня отображаются в консоли PowerShell.
Первая команда показывает содержимое раздела реестра HKLM:\HARDWARE. Параметр Exclude указывает командлету Get-ChildItem не возвращать подразделы, начинающиеся с D* . В настоящее время параметр Exclude работает только с подразделами, но не со свойствами элемента.
Пример 7. Получение всех сертификатов с правом подписи кода
В этом примере получаются все сертификаты на диске PowerShell Cert: с полномочиями на подпись кода.
Командлет Get-ChildItem использует параметр Path для указания поставщика Cert:. Параметр Recurse выполняет поиск в каталоге, указанном параметром Path, и его подкаталогах. Параметр CodeSigningCert получает только сертификаты с полномочиями на подпись кода.
Дополнительную информацию о поставщике сертификатов и диске Cert: см. в разделе about_Certificate_Provider.
Пример 8. Получение элементов с помощью параметра "Глубина"
В этом примере отображаются элементы в каталоге и его подкаталогах. Параметр Depth определяет количество уровней подкаталогов, которые необходимо включить в рекурсию. Пустые каталоги исключаются из вывода.
Командлет Get-ChildItem использует параметр Path для указания C:\Parent. Параметр Depth задает два уровня рекурсии. Командлет Get-ChildItem отображает содержимое каталога, указанного параметром Path, и два уровня подкаталогов.
Пример 9. Получение информации о жестких ссылках
В PowerShell 6.2 добавлено альтернативное представление для получения информации о жестких ссылках.
Пример 10. Вывод для операционных систем, отличных от Windows
В PowerShell 7.1 в системах Unix Get-ChildItem обеспечивает выходные данные, подобные Unix:
- UnixMode — это права доступа к файлам, представленные в системе Unix.
- Пользователь является владельцем файла
- Группа является владельцем группы
- Размер – это размер файла или каталога, представленный в системе Unix.
Эта функция была перемещена из экспериментальной в основную в PowerShell 7.1.
Пример 11. Получение цели ссылки для точки соединения
Команда dir в командной оболочке Windows показывает целевое расположение точки соединения файловой системы. В PowerShell эта информация доступна из свойства LinkTarget объекта файловой системы, возвращаемого командлетом Get-ChildItem, и отображается в выходных данных по умолчанию.
Параметры
Получает файлы и папки с указанными атрибутами. Этот параметр поддерживает все атрибуты и позволяет указывать сложные комбинации атрибутов.
Например, чтобы получить зашифрованные или сжатые несистемные файлы (не каталоги), введите:
Get-ChildItem -Attributes !Directory+!System+Encrypted, !Directory+!System+Compressed
Чтобы найти файлы и папки с часто используемыми атрибутами, используйте параметр Атрибуты. Или параметры Каталог, Файл, Скрытый, Только для чтения и Система.
Параметр Attributes поддерживает следующие свойства:
Описание этих атрибутов см. в перечислении FileAttributes.
Чтобы объединить атрибуты, используйте следующие операторы:
Не используйте пробелы между оператором и его атрибутом. Пробелы допускаются после запятых.
Для общих атрибутов используйте следующие сокращения:
- D (Каталог)
- H (скрыто)
- R (только чтение)
- S (Система)
Этот параметр был добавлен в PowerShell 5.0 и позволяет управлять глубиной рекурсии. По умолчанию Get-ChildItem отображает содержимое родительского каталога. Параметр Depth определяет количество уровней подкаталогов, включенных в рекурсию, и отображает содержимое.
Например, глубина 2 включает каталог параметра "Путь", первый уровень подкаталогов и второй уровень подкаталогов. По умолчанию в вывод включаются имена каталогов и файлов.
Тип: | UInt32 |
Позиция: | Имя |
Значение по умолчанию: | Нет |
Принять ввод конвейера: | False | tr>
Допускать подстановочные знаки: | False |
Чтобы получить список каталогов, используйте параметр "Каталог" или параметр "Атрибуты" со свойством "Каталог". Вы можете использовать параметр Recurse с каталогом.
Тип: | SwitchParameter |
Псевдонимы: | ad |
Позиция: | Имя |
Значение по умолчанию: | Нет | < /tr>
Принимать ввод конвейера: | False |
Допускать подстановочные знаки: | False |
Тип: | Строка [ ] |
Позиция: | Название td> |
Значение по умолчанию: | Нет |
Принять ввод конвейера: | False< /td> |
Допускать подстановочные знаки: | True |
Чтобы получить список файлов, используйте параметр File. Вы можете использовать параметр Recurse с файлом.
Тип: | SwitchParameter |
Псевдонимы: | af |
Позиция: | Имя |
Значение по умолчанию: | Нет | < /tr>
Принимать ввод конвейера: | False |
Допускать подстановочные знаки: | False |
Тип: | Строка |
Позиция: | 1 |
Значение по умолчанию: | Нет |
Принять ввод конвейера: | False |
Допускать подстановочные знаки: | True |
По умолчанию командлет Get-ChildItem отображает символические ссылки на каталоги, найденные во время рекурсии, но не выполняет рекурсию в них. Используйте параметр FollowSymlink для поиска каталогов, предназначенных для этих символических ссылок. FollowSymlink — это динамический параметр, который поддерживается только поставщиком файловой системы.
Этот параметр появился в PowerShell 6.0.
Тип: | SwitchParameter |
Позиция: | Именованный |
Значение по умолчанию: | Нет |
Принять ввод конвейера: | False |
Допускать подстановочные знаки: | False |
Позволяет командлету получать элементы, к которым пользователь иначе не может получить доступ, например скрытые или системные файлы. Параметр Force не отменяет ограничения безопасности. Реализация варьируется среди поставщиков. Дополнительные сведения см. в разделе about_Providers.
Тип: | SwitchParameter |
Позиция: | Именованный |
Значение по умолчанию: | False |
Принять ввод конвейера: | False |
Допускать подстановочные знаки: | False |
Чтобы получить только скрытые элементы, используйте параметр Hidden или параметр Attributes со свойством Hidden. По умолчанию Get-ChildItem не отображает скрытые элементы. Используйте параметр Force, чтобы получить скрытые элементы.
Тип: | SwitchParameter |
Псевдонимы: | ah, h td> |
Позиция: | Имя |
Значение по умолчанию: | Нет |
Принимать ввод конвейера: | False |
Допускать подстановочные знаки: | False< /td> |
Указывает массив из одного или нескольких строковых шаблонов, которые должны сопоставляться при получении командлетом дочерних элементов. Любой соответствующий элемент включается в вывод. Введите элемент пути или шаблон, например "*.txt" . Подстановочные знаки разрешены. Параметр Include действует, только если команда включает содержимое элемента, например C:\Windows\* , где подстановочный знак указывает содержимое каталога C:\Windows.
Параметры Include и Exclude можно использовать вместе. Однако исключения применяются после включений, что может повлиять на конечный результат.
Тип: | Строка [ ] |
Позиция: | Название td> |
Значение по умолчанию: | Нет |
Принять ввод конвейера: | False< /td> |
Допускать подстановочные знаки: | True |
Указывает путь к одному или нескольким местоположениям. Значение LiteralPath используется точно так, как оно введено. Никакие символы не интерпретируются как подстановочные знаки. Если путь содержит escape-символы, заключите его в одинарные кавычки. Одиночные кавычки сообщают PowerShell, что никакие символы не должны интерпретироваться как управляющие последовательности.
Тип: | String [ ] |
Псевдонимы: | PSPath, LP |
Позиция: | Имя |
Значение по умолчанию: | Нет< /td> |
Принимать ввод конвейера: | True |
Допускать подстановочные знаки: | Ложь |
Получает только названия элементов в местоположении. Результатом является строковый объект, который можно отправить по конвейеру другим командам. Подстановочные знаки разрешены.
Тип: | SwitchParameter |
Позиция: | Именованный |
Значение по умолчанию: | Нет |
Принять ввод конвейера: | False |
Допускать подстановочные знаки: | True |
Указывает путь к одному или нескольким местоположениям. Подстановочные знаки принимаются. Расположение по умолчанию — текущий каталог ( . ).
Тип: | Строка [ ] |
Позиция: | 0 td> |
Значение по умолчанию: | Текущий каталог |
Принять ввод конвейера: | True |
Допускать подстановочные знаки: | Истина |
Чтобы получить элементы только для чтения, используйте параметр ReadOnly или свойство ReadOnly параметра Attributes.
Тип: | SwitchParameter |
Псевдонимы: | ar |
Позиция: | Имя |
Значение по умолчанию: | Нет | < /tr>
Принимать ввод конвейера: | False |
Допускать подстановочные знаки: | False |
Тип: | SwitchParameter |
Псевдонимы: | s |
Позиция: | Имя |
Значение по умолчанию: | False | < /tr>
Принимать ввод конвейера: | False |
Допускать подстановочные знаки: | False |
Тип: | SwitchParameter |
Псевдонимы: | as |
Позиция: | Имя |
Значение по умолчанию: | Нет | < /tr>
Принимать ввод конвейера: | False |
Допускать подстановочные знаки: | False |