Partilhar via


Formatting File Overview (Ficheiros de Formatação: Descrição Geral)

O formato de exibição para os objetos retornados por comandos (cmdlets, funções e scripts) é definido usando arquivos de formatação (format.ps1xml). Vários desses arquivos são fornecidos pelo PowerShell para definir o formato de exibição para esses objetos retornados por comandos fornecidos pelo PowerShell, como o objeto System.Diagnostics.Process retornado pelo cmdlet Get-Process. No entanto, você também pode criar seus próprios arquivos de formatação personalizados para substituir os formatos de exibição padrão ou pode escrever um arquivo de formatação personalizado para definir a exibição de objetos retornados por seus próprios comandos.

Importante

A formatação de arquivos não determina os elementos de um objeto que são retornados ao pipeline. Quando um objeto é retornado ao pipeline, todos os membros desse objeto ficam disponíveis, mesmo que alguns não sejam exibidos.

O PowerShell usa os dados nesses arquivos de formatação para determinar o que é exibido e como os dados exibidos são formatados. Os dados exibidos podem incluir as propriedades de um objeto ou o valor de um script. Os scripts são usados se você quiser exibir algum valor que não está disponível diretamente das propriedades de um objeto, como adicionar o valor de duas propriedades de um objeto e, em seguida, exibir a soma como uma parte dos dados. A formatação dos dados exibidos é feita definindo modos de exibição para os objetos que você deseja exibir. Você pode definir uma única exibição para cada objeto, você pode definir uma única exibição para vários objetos, ou você pode definir várias exibições para o mesmo objeto. Não há limite para o número de visualizações que você pode definir.

Recursos comuns de formatação de arquivos

Cada arquivo de formatação pode definir os seguintes componentes que podem ser compartilhados em todas as exibições definidas pelo arquivo:

  • Definição de configuração padrão, como se os dados exibidos nas linhas de tabelas serão exibidos na próxima linha se os dados forem maiores do que a largura da coluna. Para obter mais informações sobre essas configurações, consulte Wrap Element for TableRowEntry.

  • Conjuntos de objetos que podem ser exibidos por qualquer uma das exibições do arquivo de formatação. Para obter mais informações sobre esses conjuntos (conhecidos como conjuntos de seleção ), consulte Definindo conjuntos de objetos.

  • Controles comuns que podem ser usados por todas as exibições do arquivo de formatação. Os controles oferecem um controle mais fino sobre como os dados são exibidos. Para obter mais informações sobre controles, consulte Definindo controles personalizados.

Formatando modos de exibição

Os modos de exibição de formatação podem exibir objetos em um formato de tabela, formato de lista, formato amplo e formato personalizado. Na maioria das vezes, cada definição de formatação é descrita por um conjunto de marcas XML que descrevem a exibição. Cada modo de exibição contém o nome do modo de exibição, os objetos que o usam e os elementos do modo de exibição, como as informações de coluna e linha para um modo de exibição de tabela.

Visualização de tabela

Lista as propriedades de um objeto ou um valor de bloco de script em uma ou mais colunas. Cada coluna representa uma única propriedade do objeto ou um valor de script. Você pode definir um modo de exibição de tabela que exibe todas as propriedades de um objeto, um subconjunto das propriedades de um objeto ou uma combinação de propriedades e valores de script. Cada linha da tabela representa um objeto retornado. A criação de um modo de exibição de tabela é muito semelhante a quando você canaliza um objeto para o cmdlet Format-Table. Para obter mais informações sobre esse modo de exibição, consulte modo de exibição de tabela.

Visualização de lista

Lista as propriedades de um objeto ou um valor de script em uma única coluna. Cada linha da lista exibe um rótulo opcional ou o nome da propriedade seguido pelo valor da propriedade ou script. Criar um modo de exibição de lista é muito semelhante a canalizar um objeto para o cmdlet Format-List. Para obter mais informações sobre esse modo de exibição, consulte modo de exibição de lista.

Vista ampla

Lista uma única propriedade de um objeto ou um valor de script em uma ou mais colunas. Não há rótulo ou cabeçalho para esse modo de exibição. Criar uma exibição ampla é muito semelhante a canalizar um objeto para o cmdlet Format-Wide. Para obter mais informações sobre esse modo de exibição, consulte Wide View.

Modo de Exibição Personalizado

Exibe uma exibição personalizável de propriedades de objeto ou valores de script que não adere à estrutura rígida de exibições de tabela, exibições de lista ou exibições amplas. Você pode definir um modo de exibição personalizado autônomo ou pode definir um modo de exibição personalizado que é usado por outro modo de exibição, como um modo de exibição de tabela ou de lista. Criar uma exibição personalizada é muito semelhante a canalizar um objeto para o cmdlet Format-Custom. Para obter mais informações sobre esse modo de exibição, consulte Modo de Exibição Personalizado.

Componentes de uma vista

Os exemplos XML a seguir mostram os componentes XML básicos de um modo de exibição. Os elementos XML individuais variam dependendo do modo de exibição que você deseja criar, mas os componentes básicos dos modos de exibição são todos iguais.

Para começar, cada modo de exibição tem um elemento Name que especifica um nome amigável que é usado para fazer referência ao modo de exibição. um elemento ViewSelectedBy que define quais objetos .NET são exibidos pelo modo de exibição e um controle elemento que define o modo de exibição.

<ViewDefinitions>
  <View>
    <Name>NameOfView</Name>
    <ViewSelectedBy>...</ViewSelectedBy>
    <TableControl>...</TableControl>
  </View>
  <View>
    <Name>NameOfView</Name>
    <ViewSelectedBy>...</ViewSelectedBy>
    <ListControl>...</ListControl>
  <View>
  <View>
    <Name>NameOfView</Name>
    <ViewSelectedBy>...</ViewSelectedBy>
    <WideControl>...</WideControl>
  <View>
  <View>
    <Name>NameOfView</Name>
    <ViewSelectedBy>...</ViewSelectedBy>
    <CustomControl>...</CustomControl>
  </View>
</ViewDefinitions>

Dentro do elemento de controle, você pode definir uma ou mais entrada elementos. Se você usar várias definições, deverá especificar quais objetos .NET usam cada definição. Normalmente, apenas uma entrada, com apenas uma definição, é necessária para cada controle.

<ListControl>
  <ListEntries>
    <ListEntry>
      <EntrySelectedBy>...</EntrySelectedBy>
      <ListItems>...</ListItems>
    </ListEntry>
    <ListEntry>
        <EntrySelectedBy>...</EntrySelectedBy>
      <ListItems>...</ListItems>
    </ListEntry>
    <ListEntry>
        <EntrySelectedBy>...</EntrySelectedBy>
      <ListItems>...</ListItems>
    </ListEntry>
  </ListEntries>
</ListControl>

Dentro de cada elemento de entrada de um modo de exibição, você especifica o item elementos que definem as propriedades do .NET ou scripts que são exibidos por esse modo de exibição.


<ListItems>
  <ListItem>...</ListItem>
  <ListItem>...</ListItem>
  <ListItem>...</ListItem>
</ListItems>

Como mostrado nos exemplos anteriores, o arquivo de formatação pode conter vários modos de exibição, um modo de exibição pode conter várias definições e cada definição pode conter vários itens.

Exemplo de uma vista de tabela

O exemplo a seguir mostra as marcas XML usadas para definir um modo de exibição de tabela que contém duas colunas. O elemento ViewDefinitions é o elemento container para todas as exibições definidas no arquivo de formatação. O elemento View define a tabela, lista, ampla ou exibição personalizada específica. Dentro de cada elemento View, o elemento Name especifica o nome do modo de exibição, o elemento ViewSelectedBy define os objetos que usam o modo de exibição e os diferentes elementos de controle (como o elemento TableControl mostrado no exemplo a seguir) definem o tipo do modo de exibição.

<ViewDefinitions>
  <View>
    <Name>Name of View</Name>
    <ViewSelectedBy>
      <TypeName>Object to display using this view</TypeName>
      <TypeName>Object to display using this view</TypeName>
    </ViewSelectedBy>
    <TableControl>
      <TableHeaders>
        <TableColumnHeader>
          <Width></Width>
        </TableColumnHeader>
        <TableColumnHeader>
          <Width></Width>
        </TableColumnHeader>
      </TableHeaders>
      <TableRowEntries>
        <TableRowEntry>
          <TableColumnItems>
            <TableColumnItem>
              <PropertyName>Header for column 1</PropertyName>
            </TableColumnItem>
            <TableColumnItem>
              <PropertyName>Header for column 2</PropertyName>
            </TableColumnItem>
          </TableColumnItems>
        </TableRowEntry>
      </TableRowEntries>
    </TableControl>
  </View>
</ViewDefinitions>

Ver também

Criando um de exibição de lista

Criando um de exibição de tabela

Criando um de visualização ampla

Criando controles personalizados

Escrevendo um arquivo de formatação e tipos do PowerShell