Přehled formátovacího souboru

Formát zobrazení pro objekty vrácené příkazy (rutiny, funkce a skripty) se definuje pomocí formátovacích souborů (soubory format.ps1xml). PowerShell poskytuje několik z těchto souborů, které definují formát zobrazení pro objekty vrácené příkazy poskytovanými PowerShellem, například objekt System.Diagnostics.Process vrácený Get-Process rutinou . Můžete ale také vytvořit vlastní formátovací soubory, které přepíší výchozí formáty zobrazení, nebo můžete napsat vlastní formátovací soubor, který definuje zobrazení objektů vrácených vlastními příkazy.

Důležité

Formátovací soubory ne určují prvky objektu, které jsou vráceny do kanálu. Když se objekt vrátí do kanálu, jsou k dispozici všichni členové tohoto objektu, i když se některé nezobrazí.

PowerShell pomocí dat v těchto formátovacích souborech určuje, co se zobrazí a jak se zobrazovaná data naformátují. Zobrazená data mohou zahrnovat vlastnosti objektu nebo hodnotu skriptu. Skripty se používají, pokud chcete zobrazit nějakou hodnotu, která není k dispozici přímo z vlastností objektu, například přidání hodnoty dvou vlastností objektu a následně zobrazení součtu jako části dat. Formátování zobrazených dat se provádí definováním zobrazení pro objekty, které chcete zobrazit. Můžete definovat jedno zobrazení pro každý objekt, můžete definovat jedno zobrazení pro více objektů nebo můžete definovat více zobrazení pro stejný objekt. Počet zobrazení, která můžete definovat, není žádný limit.

Běžné funkce formátovacích souborů

Každý formátovací soubor může definovat následující součásti, které lze sdílet ve všech zobrazeních definovaných souborem:

  • Výchozí nastavení konfigurace, například jestli se data zobrazená v řádcích tabulek zobrazí na dalším řádku, pokud jsou data delší než šířka sloupce. Další informace o těchto nastaveních najdete v tématu Wrap – element pro TableRowEntry.

  • Sady objektů, které mohou být zobrazeny libovolným zobrazením formátovacího souboru. Další informace o těchto sadách (označných jako sady výběrů) najdete v tématu Definování sad objektů.

  • Běžné ovládací prvky, které mohou být použity všemi zobrazeními formátovacího souboru. Ovládací prvky poskytují jemnější kontrolu nad zobrazením dat. Další informace o ovládacích prvcích najdete v tématu Definování vlastních ovládacích prvků.

Formátování zobrazení

Formátovací zobrazení mohou zobrazovat objekty ve formátu tabulky, formátu seznamu, širokém formátu a vlastním formátu. Ve většině částí je každá definice formátování popsána pomocí sady značek XML, které popisují zobrazení. Každé zobrazení obsahuje název zobrazení, objekty, které toto zobrazení používají, a prvky zobrazení, například informace o sloupci a řádku pro zobrazení tabulky.

Zobrazení tabulky

Vypíše vlastnosti objektu nebo hodnoty bloku skriptu v jednom nebo více sloupcích. Každý sloupec představuje jednu vlastnost objektu nebo hodnotu skriptu. Můžete definovat zobrazení tabulky, které zobrazuje všechny vlastnosti objektu, podmnožinu vlastností objektu nebo kombinaci vlastností a hodnot skriptu. Každý řádek tabulky představuje vrácený objekt. Vytvoření zobrazení tabulky je velmi podobné, jako když předáte objekt do rutiny Format-Table . Další informace o tomto zobrazení najdete v tématu Zobrazení tabulky.

Zobrazení seznamu

Vypíše vlastnosti objektu nebo hodnoty skriptu v jednom sloupci. Každý řádek seznamu zobrazuje volitelný popisek nebo název vlastnosti následovaný hodnotou vlastnosti nebo skriptu. Vytvoření zobrazení seznamu se velmi podobá propojení objektu s Format-List rutinou . Další informace o tomto zobrazení najdete v tématu Zobrazení seznamu.

Široké zobrazení

Vypíše jednu vlastnost objektu nebo hodnotu skriptu v jednom nebo více sloupcích. Toto zobrazení nemá žádný popisek ani záhlaví. Vytvoření širokého zobrazení je velmi podobné propojení objektu s Format-Wide rutinou. Další informace o tomto zobrazení najdete v tématu Široké zobrazení.

Vlastní zobrazení

Zobrazí přizpůsobitelné zobrazení vlastností objektu nebo hodnot skriptu, které nedodržuje pevnou strukturu zobrazení tabulek, zobrazení seznamu nebo širokých zobrazení. Můžete definovat samostatné vlastní zobrazení nebo vlastní zobrazení, které používá jiné zobrazení, například zobrazení tabulky nebo seznam. Vytvoření vlastního zobrazení je velmi podobné propojení objektu s Format-Custom rutinou . Další informace o tomto zobrazení najdete v tématu Vlastní zobrazení.

Součásti zobrazení

Následující příklady XML ukazují základní komponenty XML zobrazení. Jednotlivé elementy XML se liší v závislosti na tom, které zobrazení chcete vytvořit, ale základní součásti zobrazení jsou stejné.

Pro začátek má každé zobrazení prvek, který určuje popisný název, který se používá pro Name odkaz na zobrazení. Element, ViewSelectedBy který definuje, které objekty .NET jsou zobrazeny v zobrazení, a ovládací prvek, který definuje zobrazení.

<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>

V rámci ovládacího prvku můžete definovat jeden nebo více vstupních prvků. Pokud používáte více definic, musíte určit, které objekty .NET používají jednotlivé definice. Obvykle je pro každý ovládací prvek potřeba jenom jedna položka s pouze jednou definicí.

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

V rámci každého prvku položky zobrazení určíte prvky položky, které definují vlastnosti nebo skripty technologie .NET, které jsou zobrazeny v tomto zobrazení.


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

Jak je znázorněno v předchozích příkladech, formátovací soubor může obsahovat více zobrazení, zobrazení může obsahovat více definic a každá definice může obsahovat více položek.

Příklad zobrazení tabulky

Následující příklad ukazuje značky XML použité k definování zobrazení tabulky, které obsahuje dva sloupce. Element ViewDefinitions je element kontejneru pro všechna zobrazení definovaná ve formátovacím souboru. Element View definuje konkrétní tabulku, seznam, široké nebo vlastní zobrazení. V rámci každého prvku View určuje element Name název zobrazení, element ViewSelectedBy definuje objekty, které používají zobrazení, a různé prvky ovládacího prvku (například element zobrazený v následujícím příkladu) definují typ TableControl zobrazení.

<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>

Viz také

Vytvoření zobrazení seznamu

Vytvoření zobrazení tabulky

Vytvoření širokého zobrazení

Vytvoření vlastních ovládacích prvků

Zápis souboru formátování a typů PowerShellu