Format-Table
Formata a saída como uma tabela.
Sintaxe
Format-Table
[[-Property] <Object[]>]
[-AutoSize]
[-HideTableHeaders]
[-Wrap]
[-GroupBy <Object>][-View <string>]
[-ShowError]
[-DisplayError]
[-Force]
[-Expand <string>]
[-InputObject <psobject>][<CommonParameters>]
Description
O cmdlet Format-Table
formata a saída de um comando como uma tabela com as propriedades selecionadas do objeto em cada coluna. O tipo de objeto determina o layout padrão e as propriedades que são exibidas em cada coluna, mas você pode usar o parâmetro Propriedade para selecionar as propriedades que você deseja ver.
Você também pode usar uma tabela de hash para adicionar propriedades calculadas a um objeto antes de exibi-la e especificar os títulos de coluna na tabela. Para adicionar uma propriedade calculada, use o parâmetro Property ou GroupBy.
Exemplos
Exemplo 1: formatar host do PowerShell
Este comando exibe informações sobre o programa host do PowerShell em uma tabela. Por padrão, eles são formatados em uma lista.
Get-Host | Format-Table -AutoSize
O cmdlet Get-Host
obtém objetos que representam o host. O operador de pipeline (|) passa o objeto para o cmdlet Format-Table
. O cmdlet Format-Table
formata os objetos em uma tabela. O parâmetro AutoSize ajusta as larguras da coluna para minimizar o truncamento.
Exemplo 2: formatar processos por BasePriority
Esse comando exibe os processos no computador em grupos com a mesma prioridade base.
Get-Process | Sort-Object -Property basepriority | Format-Table -GroupBy basepriority -Wrap
O cmdlet Get-Process obtém objetos que representam cada processo no computador. O operador de pipeline (|) passa o objeto para o cmdlet Sort-Object, que classifica os objetos na ordem de sua prioridade base.
Outro operador de pipeline passa os resultados para o cmdlet Format-Table
. O parâmetro GroupBy organiza os dados sobre os processos em grupos com base no valor de sua propriedade BasePriority. O parâmetro Wrap garante que os dados não sejam truncados.
Exemplo 3: formatar processos por data de início
Get-Process | Sort-Object starttime | Format-Table -View starttime
Esse comando exibe informações sobre os processos no computador em grupo com base na data de início do processo. Ele usa o cmdlet Get-Process para obter objetos que representam os processos no computador. O operador de pipeline (|) envia a saída de Get-Process
para o cmdlet Sort-Object
, que o classifica com base na propriedade StartTime. Outro operador de pipeline envia os resultados classificados para Format-Table
.
O parâmetro
O arquivo
Exemplo 4: formatar serviços
Get-Service | Format-Table -Property Name, DependentServices
Esse comando exibe todos os serviços no computador em uma tabela com duas colunas, Name e DependentServices. O cmdlet Get-Service
obtém todos os serviços no computador. O operador de pipeline (|) envia os resultados para o cmdlet Format-Table
, que formata a saída em uma tabela.
O parâmetro Property especifica as propriedades que aparecem na tabela como colunas. O nome do parâmetro Property é opcional, portanto, você pode omitê-lo, por exemplo, Format-Table Name, DependentServices
.
Name e DependentServices são apenas duas das propriedades dos objetos de serviço. Para exibir todas as propriedades, digite Get-Service | Get-Member -MemberType Properties
.
Exemplo 5: formatar um processo e calcular seu tempo de execução
Este comando mostra como usar uma propriedade calculada em uma tabela.
Get-Process Notepad | Format-Table ProcessName,
@{Label="TotalRunningTime"; Expression={(Get-Date) - $_.StartTime}}
O comando exibe uma tabela com o nome do processo e o tempo total de execução de todos os processos do Bloco de Notas no computador local. O tempo de execução total é calculado subtraindo a hora de início de cada processo da hora atual.
O comando usa o cmdlet Get-Process
para obter todos os processos chamados Bloco de Notas no computador local.
O operador de pipeline (|) envia os resultados para Format-Table
, que exibe uma tabela com duas colunas: ProcessName, uma propriedade padrão de processos e TotalRunningTime, uma propriedade calculada.
A propriedade Get-Date
, que obtém a data e a hora atuais.
Exemplo 6: formatar processos do bloco de notas
Esses comandos são semelhantes ao comando anterior, exceto pelo fato de que esses comandos usam o cmdlet Get-WmiObject
.
$Processes = Get-WmiObject -ComputerName "Server01" -Class win32_process -Filter "name='notepad.exe'"
$Processes | Format-Table ProcessName, @{ Label = "Total Running Time"; Expression={(Get-Date) - $_.ConvertToDateTime($_.CreationDate)}}
O primeiro comando usa o cmdlet Get-WmiObject
para obter instâncias da classe Win32_Process WMI que descreve todos os processos no computador Server01 nomeados Notepad.exe
.
O comando armazena as informações do processo na variável $Processes
.
O segundo comando usa um operador de pipeline (|) para enviar as informações do processo na variável $Processes
para o cmdlet Format-Table
, que exibe o ProcessName e uma nova propriedade calculada.
O comando atribui o nome da nova propriedade calculada, "Tempo total de execução", à chave rótulo Get-Date
obtém a data atual. O método
Exemplo 7: Solução de problemas de erros de formato
Os exemplos a seguir mostram os resultados da adição dos parâmetros
PC /> Get-Date | Format-Table DayOfWeek,{ $_ / $null } -DisplayError
DayOfWeek $_ / $null
--------- ------------
Wednesday #ERR
PC /> Get-Date | Format-Table DayOfWeek,{ $_ / $null } -ShowError
DayOfWeek $_ / $null
--------- ------------
Wednesday
Failed to evaluate expression " $_ / $null ".
+ CategoryInfo : InvalidArgument: (10/30/2013 2:28:07 PM:PSObject) \[\], RuntimeException
+ FullyQualifiedErrorId : mshExpressionError
Parâmetros
-AutoSize
Indica que o cmdlet ajusta o tamanho da coluna e o número de colunas com base na largura dos dados. Por padrão, o tamanho e o número da coluna são determinados pela exibição.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-DisplayError
Indica que o cmdlet exibe erros na linha de comando. Esse parâmetro raramente é usado, mas pode ser usado como um auxílio de depuração quando você está formatando expressões em um comando Format-Table
e as expressões não parecem estar funcionando.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Expand
Especifica o formato do objeto de coleção, bem como os objetos na coleção. Esse parâmetro foi projetado para formatar objetos que dão suporte à interface ICollection (System.Collections). O valor padrão é EnumOnly. Os valores aceitáveis para este parâmetro são:
- EnumOnly: exibe as propriedades dos objetos na coleção.
- CoreOnly: exibe as propriedades do objeto da coleção.
- Ambos: exibe as propriedades do objeto de coleção e as propriedades dos objetos na coleção.
Tipo: | String |
Valores aceitos: | CoreOnly, EnumOnly, Both |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Force
Indica que o cmdlet direciona o cmdlet para exibir todas as informações de erro. Use com o parâmetro
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-GroupBy
Especifica a saída classificada em tabelas separadas com base em um valor de propriedade. Por exemplo, você pode usar GroupBy para listar serviços em tabelas separadas com base em seu status.
Insira uma expressão ou uma propriedade da saída. A saída deve ser classificada antes de enviá-la para Format-Table
.
O valor do parâmetro GroupBy pode ser uma nova propriedade calculada. Para criar uma propriedade calculada, use uma tabela de hash. As chaves válidas são:
- Nome (ou Rótulo) <cadeia de caracteres>
- Expressão <cadeia de caracteres> ou <bloco de script>
- < > de cadeia de caracteres formatString
Tipo: | Object |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-HideTableHeaders
Omite os títulos de coluna da tabela.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-InputObject
Especifica os objetos a serem formatados. Insira uma variável que contenha os objetos ou digite um comando ou expressão que obtém os objetos.
Tipo: | PSObject |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-Property
Especifica as propriedades do objeto que aparecem na exibição e a ordem em que elas aparecem. Digite um ou mais nomes de propriedade (separados por vírgulas) ou use uma tabela de hash para exibir uma propriedade calculada. Curingas são permitidos.
Se você omitir esse parâmetro, as propriedades que aparecem na exibição dependerão das propriedades do primeiro objeto. Por exemplo, se o primeiro objeto tiver PropertyA e PropertyB mas os objetos subsequentes tiverem propertya, propertyb e PropertyC apenas PropertyA e PropertyB serão exibidos.
O nome do parâmetro Property é opcional. Você não pode usar os parâmetros Property e View no mesmo comando.
O valor do parâmetro da Propriedade
- Nome (ou Rótulo) <cadeia de caracteres>
- Expressão <cadeia de caracteres> ou <bloco de script>
- < > de cadeia de caracteres formatString
- Largura <> int32
- Alinhamento (o valor pode ser "Esquerda", "Centro" ou "Direita")
Tipo: | Object[] |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | True |
-ShowError
Envia erros por meio do pipeline. Esse parâmetro raramente é usado, mas pode ser usado como um auxílio de depuração quando você está formatando expressões em um comando Format-Table
e as expressões não parecem estar funcionando.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-View
Especifica o nome de um formato ou exibição de tabela alternativo. Você não pode usar os parâmetros Property e View no mesmo comando.
Tipo: | String |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Wrap
Exibe o texto que excede a largura da coluna na próxima linha. Por padrão, o texto que excede a largura da coluna é truncado.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
Entradas
Você pode redirecionar qualquer objeto para Format-Table
.
Saídas
Microsoft.PowerShell.Commands.Internal.Format
Format-Table
retorna objetos de formato que representam a tabela.
Observações
O parâmetro GroupBy pressupõe que os objetos sejam classificados. Use o cmdlet Sort-Object
antes de usar Format-Table
para agrupar os objetos.
O parâmetro exibir *.format.PS1XML
no diretório do PowerShell ou criar suas próprias exibições em novos arquivos PS1XML e, em seguida, usar o cmdlet Update-FormatData
para incluí-las no PowerShell. As exibições alternativas do parâmetro View devem usar o formato de tabela, caso contrário, o comando falhará.
Se a exibição alternativa for uma lista, use o cmdlet Format-List
. Se o modo de exibição alternativo não for uma lista ou uma tabela, use o cmdlet Format-Custom
.