Zmienianie widoku wyjściowego przy użyciu poleceń formatowaniaUsing Format Commands to Change Output View

Środowisko Windows PowerShell jest zestaw poleceń cmdlet, które umożliwiają kontrolowanie właściwości, które są wyświetlane dla konkretnego obiektów.Windows PowerShell has a set of cmdlets that allow you to control which properties are displayed for particular objects. Nazwy wszystkich poleceń cmdlet zaczynają się od zlecenie Format.The names of all the cmdlets begin with the verb Format. Umożliwiają one wybierz jedną lub więcej właściwości do wyświetlenia.They let you select one or more properties to show.

Format polecenia cmdlet są całej Format, Format-Lista, Format-Table, i Format-niestandardowe.The Format cmdlets are Format-Wide, Format-List, Format-Table, and Format-Custom. Zostaną przedstawione tylko całej Format, Format-Lista, i Format-Table polecenia cmdlet w tym podręczniku użytkownika.We will only describe the Format-Wide, Format-List, and Format-Table cmdlets in this user's guide.

Każde polecenie cmdlet format ma domyślne właściwości, które zostaną użyte, jeśli nie określisz określonych właściwości do wyświetlenia.Each format cmdlet has default properties that will be used if you do not specify specific properties to display. Każde polecenie cmdlet używa również nazwę tego samego parametru właściwości, aby określić właściwości, które mają być wyświetlane.Each cmdlet also uses the same parameter name, Property, to specify which properties you want to display. Ponieważ całej Format przedstawia tylko jedną właściwość jego właściwości Parametr przyjmuje tylko pojedynczą wartość, ale parametry właściwości listy Format i Format-Table przyjmuje listę nazw właściwości.Because Format-Wide only shows a single property, its Property parameter only takes a single value, but the property parameters of Format-List and Format-Table will accept a list of property names.

Jeśli używasz polecenia Get-Process - powershell nazwę z dwoma wystąpieniami programu Windows PowerShell działa, możesz uzyskać dane wyjściowe, która wygląda następująco:If you use the command Get-Process -Name powershell with two instances of Windows PowerShell running, you get output that looks like this:

Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id ProcessName
-------  ------    -----      ----- -----   ------     -- -----------
    995       9    30308      27996   152     2.73   2760 powershell
    331       9    23284      29084   143     1.06   3448 powershell

W dalszej części tej sekcji, przeanalizujemy sposobu używania Format polecenia cmdlet, aby zmienić sposób wyświetlania danych wyjściowych tego polecenia.In the rest of this section, we will explore how to use Format cmdlets to change the way the output of this command is displayed.

Przy użyciu formatu na poziomie dla danych wyjściowych jednego elementuUsing Format-Wide for Single-Item Output

Całej Format polecenia cmdlet, domyślnie są wyświetlane tylko domyślnej właściwości obiektu.The Format-Wide cmdlet, by default, displays only the default property of an object. Informacje skojarzone z każdego obiektu są wyświetlane w jednej kolumnie:The information associated with each object is displayed in a single column:

PS> Get-Process -Name powershell | Format-Wide

powershell                              powershell

Można również określić właściwości innych niż domyślne:You can also specify a non-default property:

PS> Get-Process -Name powershell | Format-Wide -Property Id

2760                                    3448

Kontrolowanie Format całej wyświetlana z kolumnąControlling Format-Wide Display with Column

Z całej Format polecenia cmdlet, możesz wyświetlić tylko jedną właściwość naraz.With the Format-Wide cmdlet, you can only display a single property at a time. Dzięki temu przydatne do wyświetlania listy proste, które zawierają tylko jeden element w jednym wierszu.This makes it useful for displaying simple lists that show only one element per line. Aby uzyskać listę proste, ustaw wartość kolumny parametru na wartość 1, wpisując:To get a simple listing, set the value of the Column parameter to 1 by typing:

Get-Command Format-Wide -Property Name -Column 1

Przy użyciu listy Format dla widoku listyUsing Format-List for a List View

Format-Lista polecenie cmdlet wyświetla obiektu w postaci listy, z każdej właściwości z etykietą i wyświetlane w oddzielnym wierszu:The Format-List cmdlet displays an object in the form of a listing, with each property labeled and displayed on a separate line:

PS> Get-Process -Name powershell | Format-List

Id      : 2760
Handles : 1242
CPU     : 3.03125
Name    : powershell

Id      : 3448
Handles : 328
CPU     : 1.0625
Name    : powershell

Można określić dowolną liczbę właściwości:You can specify as many properties as you want:

PS> Get-Process -Name powershell | Format-List -Property ProcessName,FileVersion
,StartTime,Id

ProcessName : powershell
FileVersion : 1.0.9567.1
StartTime   : 2006-05-24 13:42:00
Id          : 2760

ProcessName : powershell
FileVersion : 1.0.9567.1
StartTime   : 2006-05-24 13:54:28
Id          : 3448

Pobieranie szczegółowych informacji przy użyciu listy formatów z symbolami wieloznacznymiGetting Detailed Information by Using Format-List with Wildcards

Format-Lista polecenie cmdlet pozwala używać symboli wieloznacznych jako wartości jego właściwości parametru.The Format-List cmdlet lets you use a wildcard as the value of its Property parameter. Dzięki temu można wyświetlić szczegółowe informacje.This lets you display detailed information. Często obiekty zawierają więcej informacji niż to konieczne, dlatego środowiska Windows PowerShell nie są wyświetlane wszystkie wartości właściwości domyślnie.Often, objects include more information than you need, which is why Windows PowerShell does not show all property values by default. Aby wyświetlić wszystkie właściwości obiektu, należy użyć listy Format — właściwość * polecenia.To show all of properties of an object, use the Format-List -Property * command. Polecenie generuje ponad 60 wiersze danych wyjściowych dla pojedynczego procesu:The following command generates over 60 lines of output for a single process:

Get-Process -Name powershell | Format-List -Property *

Mimo że Format-Lista polecenie jest przydatne do wyświetlania szczegółów, jeśli chcesz przejrzeć dane wyjściowe, który zawiera wiele elementów prostsze widoku tabelarycznego jest często bardziej użyteczne.Although the Format-List command is useful for showing detail, if you want an overview of output that includes many items, a simpler tabular view is often more useful.

Przy użyciu formatu tabeli dla tabelaryczne dane wyjścioweUsing Format-Table for Tabular Output

Jeśli używasz Format-Table określone polecenie cmdlet z żadnych nazw właściwości do formatowania danych wyjściowych Get-Process polecenia Pobierz dokładnie takie same dane wyjściowe, jak bez formatowania.If you use the Format-Table cmdlet with no property names specified to format the output of the Get-Process command, you get exactly the same output as you do without performing any formatting. Dzieje się tak że procesy są zwykle wyświetlane w formacie tabelarycznym są większość obiektów programu Windows PowerShell.The reason is that processes are usually displayed in a tabular format, as are most Windows PowerShell objects.

PS> Get-Process -Name powershell | Format-Table

Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id ProcessName
-------  ------    -----      ----- -----   ------     -- -----------
   1488       9    31568      29460   152     3.53   2760 powershell
    332       9    23140        632   141     1.06   3448 powershell

Poprawa tabeli Format danych wyjściowych (AutoSize)Improving Format-Table Output (AutoSize)

Mimo że widoku tabelarycznego jest przydatne w przypadku wyświetlania wielu porównywalne informacji, może być trudne interpretować Jeśli ekran jest zbyt ograniczone danych.Although a tabular view is useful for displaying a lot of comparable information, it may be difficult to interpret if the display is too narrow for the data. Na przykład próba ścieżka procesu, identyfikator, nazwę wyświetlaną i firmy, możesz uzyskać skróconą dane wyjściowe ścieżka procesu i kolumn firmy:For example, if you try to display process path, ID, name, and company, you get truncated output for the process path and the company column:

PS> Get-Process -Name powershell | Format-Table -Property Path,Name,Id,Company

Path                Name                                 Id Company
----                ----                                 -- -------
C:\Program Files... powershell                         2836 Microsoft Corpor...

Jeśli określisz AutoSize parametru podczas uruchamiania Format-Table poleceń programu Windows PowerShell obliczy szerokości kolumn na podstawie rzeczywistych danych mają być wyświetlane.If you specify the AutoSize parameter when you run the Format-Table command, Windows PowerShell will calculate column widths based on the actual data you are going to display. Dzięki temu ścieżki skróconą pozostaje kolumnę do odczytu, ale kolumna firmy:This makes the Path column readable, but the company column remains truncated:

PS> Get-Process -Name powershell | Format-Table -Property Path,Name,Id,Company -
AutoSize

Path                                                    Name         Id Company
----                                                    ----         -- -------
C:\Program Files\Windows PowerShell\v1.0\powershell.exe powershell 2836 Micr...

Format-Table polecenia cmdlet nadal może obciąć danych, ale będzie tylko dokonywać na końcu ekranu.The Format-Table cmdlet might still truncate data, but it will only do so at the end of the screen. Właściwości, innym niż ostatnio wyświetlane, są podane tyle rozmiar potrzebują ich najdłuższym elementu danych do poprawnego wyświetlania.Properties, other than the last one displayed, are given as much size as they need for their longest data element to display correctly. Widać, że nazwa firmy jest widoczny, ale ścieżka zostanie obcięta, jeśli wymiany lokalizacje ścieżki i firmy w właściwości listy wartości:You can see that company name is visible but path is truncated if you swap the locations of Path and Company in the Property value list:

PS> Get-Process -Name powershell | Format-Table -Property Company,Name,Id,Path -
AutoSize

Company               Name         Id Path
-------               ----         -- ----
Microsoft Corporation powershell 2836 C:\Program Files\Windows PowerShell\v1...

Format-Table poleceniu założono, że nearer właściwości znajduje się na początku listy właściwości jest ważniejsze.The Format-Table command assumes that the nearer a property is to the beginning of the property list, the more important it is. Dlatego próbuje wyświetlić właściwości najbliższej początku całkowicie.So it attempts to display the properties nearest the beginning completely. Jeśli Format-Table polecenia nie można wyświetlić wszystkie właściwości, będzie usunąć niektóre kolumny z ekranu i ostrzeżenie.If the Format-Table command cannot display all the properties, it will remove some columns from the display and provide a warning. To zachowanie można wyświetlić, musisz wprowadzić nazwa ostatnich właściwości na liście:You can see this behavior if you make Name the last property in the list:

PS> Get-Process -Name powershell | Format-Table -Property Company,Path,Id,Name -
AutoSize

WARNING: column "Name" does not fit into the display and was removed.

Company               Path                                                    I
                                                                              d
-------               ----                                                    -
Microsoft Corporation C:\Program Files\Windows PowerShell\v1.0\powershell.exe 6

W powyższych danych wyjściowych w kolumnie identyfikator został obcięty w celu dopasowania do listy, a nagłówki kolumn są ułożone w.In the output above, the ID column is truncated to make it fit into the listing, and the column headings are stacked up. Automatyczna zmiana rozmiaru kolumn zawsze nie chcesz.Automatically resizing the columns does not always do what you want.

Zawijanie tabeli Format danych wyjściowych w kolumnach (zawijania)Wrapping Format-Table Output in Columns (Wrap)

Możesz wymusić, długotrwałą Format-Table danych do zakodowania w jego kolumnie jest wyświetlana przy użyciu zawijanie parametru.You can force lengthy Format-Table data to wrap within its display column by using the Wrap parameter. Przy użyciu zawijanie samego parametru niekoniecznie nie ma oczekiwanego, ponieważ wykorzystuje ustawienia domyślne, jeśli nie określono również AutoSize:Using the Wrap parameter alone will not necessarily do what you expect, since it uses default settings if you do not also specify AutoSize:

PS> Get-Process -Name powershell | Format-Table -Wrap -Property Name,Id,Company,
Path

Name                                 Id Company             Path
----                                 -- -------             ----
powershell                         2836 Microsoft Corporati C:\Program Files\Wi
                                        on                  ndows PowerShell\v1
                                                            .0\powershell.exe

Zaletą używania zawijanie parametr samodzielnie jest, że spowolnienia przetwarzania bardzo.An advantage of using the Wrap parameter by itself is that it does not slow down processing very much. Jeśli na liście plików cykliczne systemu dużego katalogu, może zająć bardzo dużo czasu i używać dużej ilości pamięci, przed wyświetleniem pierwsze elementów danych wyjściowych, jeśli używasz AutoSize.If you perform a recursive file listing of a large directory system, it might take a very long time and use a lot of memory before displaying the first output items if you use AutoSize.

Jeśli nie masz obawy obciążenia systemu, następnie AutoSize dobrze działa z zawijanie parametru.If you are not concerned about system load, then AutoSize works well with the Wrap parameter. Początkowych kolumn zawsze są przydzielony tyle szerokość potrzebują do wyświetlania elementów w jednym wierszu, tak jak w przypadku określenia AutoSize bez zawijanie parametru.The initial columns are always allotted as much width as they need to display items on one line, just as when you specify AutoSize without the Wrap parameter. Jedyna różnica polega na tym, że w razie potrzeby zostaną opakowane ostatniej kolumny:The only difference is that the final column will be wrapped if necessary:

PS> Get-Process -Name powershell | Format-Table -Wrap -AutoSize -Property Name,I
d,Company,Path

Name         Id Company               Path
----         -- -------               ----
powershell 2836 Microsoft Corporation C:\Program Files\Windows PowerShell\v1.0\
                                      powershell.exe

Niektóre kolumny mogą nie być wyświetlane określenia najszerszego kolumn, dlatego jest najbezpieczniejszy określić najmniejszy elementy danych w pierwszej kolejności.Some columns might not be displayed if you specify the widest columns first, so it is safest to specify the smallest data elements first. W poniższym przykładzie, możemy Określ elementu bardzo szeroki ścieżki najpierw, a nawet z zawijaniem, będziemy nadal utratę ostatecznego nazwa kolumny:In the following example, we specify the extremely wide path element first, and even with wrapping, we still lose the final Name column:

PS> Get-Process -Name powershell | Format-Table -Wrap -AutoSize -Property Path,I
d,Company,Name

WARNING: column "Name" does not fit into the display and was removed.

Path                                                      Id Company
----                                                      -- -------
C:\Program Files\Windows PowerShell\v1.0\powershell.exe 2836 Microsoft Corporat
                                                             ion

Organizowanie w tabeli danych wyjściowych (-GroupBy)Organizing Table Output (-GroupBy)

Inny parametr przydatne do kontroli tabelaryczne dane wyjściowe jest GroupBy.Another useful parameter for tabular output control is GroupBy. W szczególności już tabelarycznych listy może być trudne do porównania.Longer tabular listings in particular may be hard to compare. GroupBy parametru grupuje dane wyjściowe na podstawie wartości właściwości.The GroupBy parameter groups output based on a property value. Na przykład możemy grupy procesów przez firmę do kontroli łatwiejsze, pomijając wartość firmy z listy właściwości:For example, we can group processes by company for easier inspection, omitting the company value from the property listing:

PS> Get-Process -Name powershell | Format-Table -Wrap -AutoSize -Property Name,I
d,Path -GroupBy Company

   Company: Microsoft Corporation

Name         Id Path
----         -- ----
powershell 1956 C:\Program Files\Windows PowerShell\v1.0\powershell.exe
powershell 2656 C:\Program Files\Windows PowerShell\v1.0\powershell.exe