Как выводить данные без таблицы в PowerShell
По умолчанию многие командлеты PowerShell выводят данные в виде отформатированной таблицы или списка, например:
Get-ChildItem
Набор выводимых данных не является исчерпывающим и вы можете изменить его — добавить или убрать столбцы таблицы, подробности об этом смотрите в статье «Как в PowerShell менять набор выводимых по умолчанию данных».
Но что если нам не нужна таблица, а нужные данные только из одного столбца и без форматирования? Например, мы хотим вывести (или сохранить в файл) только имена файлов и папок в директории.
Для обработки строк можно использовать командлет Set-Content. Рассмотрим следующий пример:
Get-ChildItem | Set-Content dir.txt Get-Content dir.txt
Первая команда получает список файлов и папок в текущей папке и передаёт их командлету Set-Content для обработки и сохранения в файл dir.txt. Затем вторая команда показывает содержимое файла dir.txt:
В принципе, мы получили список файлов, но он содержит абсолютные пути. Но это не совсем то, что мы хотели.
Смотрите также: Командлеты Set-Content и Add-Content для обработки строк
Чтобы в точности получить нужное свойство (столбец таблицы) используйте конструкцию вида:
(КОМАНДЛЕТ).СВОЙСТВО
К примеру:
(Get-ChildItem).Name
Да, для командлета Get-ChildItem имеется опция -Name с помощью которой достигается точно такой же результат — выводятся только имена файлов. Но показанный выше метод является универсальным и позволяет выводить любое свойство минуя остальные данные:
(Get-ChildItem).Attributes (Get-ChildItem).CreationTime (Get-ChildItem).LastAccessTime
В скобках вы можете указывать опции командлетов, например:
(Get-Alias -Definition '*get*').Name
Также вы можете использовать в скобках конвейер:
(КОМАНДЛЕТ1 | КОМАНДЛЕТ2 | КОМАНДЛЕТ3 | КОМАНДЛЕТ4).СВОЙСТВО
Смотрите также: Как в PowerShell сохранить вывод в файл (аналоги > и >>)
Связанные статьи:
- Как в PowerShell менять набор выводимых по умолчанию данных (100%)
- В PowerShell таблица не помещается на экран — как исправить (РЕШЕНО) (71.5%)
- Тонкая настройка вывода с Format-Table (71.5%)
- Как поменять заголовок столбца в выводе PowerShell. Как поменять ширину и выравнивание в таблицах (71.5%)
- Фильтрация свойств объектов в PowerShell (71.5%)
- Ошибки «Оператор "<" зарезервирован для использования в будущем» и «The '<' operator is reserved for future use.» (РЕШЕНО) (RANDOM - 57.2%)