ТОП 10:

Форматирование выводимой информации



В традиционных оболочках команды и утилиты сами форматируют выводимые данные. Некоторые команды (например, 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. . .

Вывести все имеющиеся у объектов свойства можно с помощью параметра *, например:







Последнее изменение этой страницы: 2017-02-06; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.235.172.213 (0.005 с.)