Форматирование выводимой информации
В традиционных оболочках команды и утилиты сами форматируют выводимые данные. Некоторые команды (например, dir в интерпретаторе Cmd.exe) позволяют настраивать формат вывода с помощью специальных параметров.
В оболочке PowerShell вывод форматируют только четыре специальных командлета Format (табл. 4). Это упрощает изучение, так как не нужно запоминать средства и параметры форматирования для других команд (остальные командлеты вывод не форматируют).
Таблица 4. Командлеты PowerShell для форматирования вывода
Командлет
| Описание
| Format-Table
| Форматирует вывод команды в виде таблицы, столбцы которой содержат свойства объекта (также могут быть добавлены вычисляемые столбцы). Поддерживается возможность группировки выводимых данных
| Format-List
| Вывод форматируется как список свойств, в котором каждое свойство отображается на новой строке. Поддерживается возможность группировки выводимых данных
| Format-Custom
| Для форматирования вывода используется пользовательское представление (view)
| Format-Wide
| Форматирует объекты в виде широкой таблицы, в которой отображается только одно свойство каждого объекта
|
Как уже отмечалось, если ни один из командлетов Format явно не указан, то используется модуль форматирования по умолчанию, который определяется по типу отображаемых данных. Например, при выполнении командлета Get-Service данные по умолчанию выводятся как таблица с тремя столбцами (Status, Name и DisplayName):
PS C:\> Get-Service Status Name DisplayName------ ---- -----------Stopped Alerter ОповещательRunning ALG Служба шлюза уровня приложенияStopped AppMgmt Управление приложениямиStopped aspnet_state ASP.NET State ServiceRunning Ati HotKey Poller Ati HotKey PollerRunning AudioSrv Windows AudioRunning BITS Фоновая интеллектуальная служба пер...Running Browser Обозреватель компьютеровStopped cisvc Служба индексированияStopped ClipSrv Сервер папки обменаStopped clr_optimizatio....NET Runtime Optimization Service v...Stopped COMSysApp Системное приложение COM+Running CryptSvc Службы криптографииRunning DcomLaunch Запуск серверных процессов DCOMRunning Dhcp DHCP-клиент... Для изменения формата выводимых данных нужно направить их по конвейеру соответствующему командлету Format. Например, следующая команда выведет список служб с помощью командлета Format-List:
PS C:\> Get-Service | Format-List Name: AlerterDisplayName: ОповещательStatus: StoppedDependentServices: {}ServicesDependedOn: {LanmanWorkstation}CanPauseAndContinue: FalseCanShutdown: FalseCanStop: FalseServiceType: Win32ShareProcess Name: ALGDisplayName: Служба шлюза уровня приложенияStatus: RunningDependentServices: {}ServicesDependedOn: {}CanPauseAndContinue: FalseCanShutdown: FalseCanStop: TrueServiceType: Win32OwnProcess... При использовании формата списка выводится больше сведений о каждой службе, чем в формате таблицы (вместо трех столбцов данных о каждой службе в формате списка выводятся девять строк данных). Однако это вовсе не означает, что командлет Format-List извлекает дополнительные сведения о службах. Эти данные содержатся в объектах, возвращаемых командлетом Get-Service, однако командлет Format-Table, используемый по умолчанию, отбрасывает их, потому что не может вывести на экран более трех столбцов.
При форматировании вывода с помощью командлетов Format-List и Format-Table можно указывать имена свойства объекта, которые должны быть отображены (напомним, что просмотреть список свойств, имеющихся у объекта, позволяет рассмотренный ранее командлет Get-Member). Например:
PS C:\> Get-Service | Format-List Name, Status, CanStop Name: AlerterStatus: StoppedCanStop: False Name: ALGStatus: RunningCanStop: True Name: AppMgmtStatus: StoppedCanStop: False... Вывести все имеющиеся у объектов свойства можно с помощью параметра *, например:
Не нашли, что искали? Воспользуйтесь поиском:
|