Format-Table
Çıktıyı tablo olarak biçimlendirır.
Syntax
Format-Table
[-AutoSize]
[-RepeatHeader]
[-HideTableHeaders]
[-Wrap]
[[-Property] <Object[]>]
[-GroupBy <Object>]
[-View <String>]
[-ShowError]
[-DisplayError]
[-Force]
[-Expand <String>]
[-InputObject <PSObject>]
[<CommonParameters>]
Description
cmdlet'i Format-Table
, her sütunda nesnenin seçili özellikleriyle bir komutun çıkışını tablo olarak biçimlendirır. Nesne türü, her sütunda görüntülenen varsayılan düzeni ve özellikleri belirler. Görüntülemek istediğiniz özellikleri seçmek için Özellik parametresini kullanabilirsiniz.
PowerShell, nesne türlerinin nasıl görüntüleneceğini tanımlamak için varsayılan biçimlendiricileri kullanır. Belirtilen özelliklere sahip bir çıkış tablosu görüntüleyen özel görünümler oluşturmak için dosyaları kullanabilirsiniz .ps1xml
. Özel görünüm oluşturulduktan sonra , tabloyu özel görünümünüzle görüntülemek için View parametresini kullanın. Görünümler hakkında daha fazla bilgi için bkz. about_Format.ps1xml.
Karma tablo kullanarak bir nesneyi görüntülemeden önce hesaplanan özellikler ekleyebilir ve tablodaki sütun başlıklarını belirtebilirsiniz. Hesaplanan özellik eklemek için Property veya GroupBy parametresini kullanın. Karma tabloları hakkında daha fazla bilgi için bkz. about_Hash_Tables.
Örnekler
Örnek 1: PowerShell ana bilgisayarını biçimlendirme
Bu örnekte, powershell için konak programıyla ilgili bilgiler bir tabloda görüntülenir.
Get-Host | Format-Table -AutoSize
Cmdlet, Get-Host
konağı temsil eden System.Management.Automation.Internal.Host.InternalHost nesnelerini alır. Nesneler işlem hattına Format-Table
gönderilir ve bir tabloda görüntülenir. AutoSize parametresi, kesmeyi en aza indirmek için sütun genişliklerini ayarlar.
Örnek 2: İşlemleri BasePriority'ye göre biçimlendirme
Bu örnekte işlemler aynı BasePriority özelliğine sahip gruplarda görüntülenir.
Get-Process | Sort-Object -Property BasePriority | Format-Table -GroupBy BasePriority -Wrap
cmdlet'i Get-Process
bilgisayardaki her işlemi temsil eden nesneleri alır ve bunları işlem hattına Sort-Object
gönderir. Nesneler BasePriority özelliklerine göre sıralanır.
Sıralanmış nesneler işlem hattına Format-Table
gönderilir. GroupBy parametresi, işlem verilerini BasePriority özelliğinin değerine göre gruplar halinde düzenler. Wrap parametresi verilerin kesilmemesini sağlar.
Örnek 3: İşlemleri başlangıç tarihine göre biçimlendirme
Bu örnekte, bilgisayarda çalışan işlemler hakkında bilgiler görüntülenir. Nesneler sıralanır ve Format-Table
nesneleri başlangıç tarihlerine göre gruplandırmak için bir görünüm kullanır.
Get-Process | Sort-Object StartTime | Format-Table -View StartTime
Get-Process
, bilgisayarda çalışan işlemleri temsil eden System.Diagnostics.Process nesnelerini alır. Nesneler işlem hattına Sort-Object
gönderilir ve StartTime özelliğine göre sıralanır.
Sıralanmış nesneler işlem hattına Format-Table
gönderilir. View parametresi, System.Diagnostics.Process nesneleri için PowerShell DotNetTypes.format.ps1xml
dosyasında tanımlanan StartTime görünümünü belirtir. StartTime görünümü her işlemin başlangıç saatini kısa bir tarihe dönüştürür ve ardından işlemleri başlangıç tarihine göre gruplandırır.
Dosya, DotNetTypes.format.ps1xml
işlemler için bir Öncelik görünümü içerir. Özelleştirilmiş görünümlerle kendi format.ps1xml
dosyalarınızı oluşturabilirsiniz.
Örnek 4: Tablo çıkışı için özel görünüm kullanma
Bu örnekte, özel görünüm bir dizinin içeriğini görüntüler. Özel görünüm, tarafından Get-ChildItem
oluşturulan System.IO.DirectoryInfo ve System.IO.FileInfo nesnelerinin tablo çıkışına CreationTime sütununu ekler.
Bu örnekteki özel görünüm, PowerShell kaynak kodunda tanımlanan görünümden oluşturulmuştur. Görünümler ve bu örneğin görünümünü oluşturmak için kullanılan kod hakkında daha fazla bilgi için bkz. about_Format.ps1xml.
Get-ChildItem -Path C:\Test | Format-Table -View mygciview
Directory: C:\Test
Mode LastWriteTime CreationTime Length Name
---- ------------- ------------ ------ ----
d----- 11/4/2019 15:54 9/24/2019 15:54 Archives
d----- 8/27/2019 14:22 8/27/2019 14:22 Drawings
d----- 10/23/2019 09:38 2/25/2019 09:38 Files
-a---- 11/7/2019 11:07 11/7/2019 11:07 11345 Alias.txt
-a---- 2/27/2019 15:15 2/27/2019 15:15 258 alias_out.txt
-a---- 2/27/2019 15:16 2/27/2019 15:16 258 alias_out2.txt
Get-ChildItem
, geçerli dizinin C:\Test
içeriğini alır. System.IO.DirectoryInfo ve System.IO.FileInfo nesneleri işlem hattına gönderilir.
Format-Table
View parametresini kullanarak CreationTime sütununu içeren mygciview özel görünümünü belirtir.
için Get-ChildItem
varsayılan Format-Table
çıkış CreationTime sütununu içermez.
Örnek 5: Tablo çıkışı için özellikleri kullanma
Bu örnekte, Name ve DependentServices özelliklerini gösteren iki sütunlu bir tabloda tüm bilgisayar hizmetlerini görüntülemek için Property parametresi kullanılmaktadır.
Get-Service | Format-Table -Property Name, DependentServices
Get-Service
bilgisayardaki tüm hizmetleri alır ve System.ServiceProcess.ServiceController nesnelerini işlem hattından aşağı gönderir. Format-Table
, Name ve DependentServices özelliklerinin tabloda görüntüleneceğini belirtmek için Property parametresini kullanır.
Name ve DependentServices , nesne türünün özelliklerinden ikisidir. Tüm özellikleri görüntülemek için: Get-Service | Get-Member -MemberType Properties
.
Örnek 6: Bir işlemi biçimlendirme ve çalışma süresini hesaplama
Bu örnekte, yerel bilgisayarın not defteri işlemleri için işlem adı ve toplam çalışma süresi içeren bir tablo görüntülenir. Toplam çalışma süresi, her işlemin başlangıç saati geçerli saatten çıkarılarak hesaplanır.
Get-Process notepad |
Format-Table ProcessName, @{Label="TotalRunningTime"; Expression={(Get-Date) - $_.StartTime}}
ProcessName TotalRunningTime
----------- ----------------
notepad 03:20:00.2751767
notepad 00:00:16.7710520
Get-Process
yerel bilgisayarın tüm not defteri işlemlerini alır ve nesneleri işlem hattına gönderir. Format-Table
iki sütunlu bir tablo görüntüler: ProcessName, bir Get-Process
özellik ve totalRunningTime, hesaplanan özellik.
TotalRunningTime özelliği, Label ve Expression olmak üzere iki anahtara sahip bir karma tablo tarafından belirtilir. Etiket anahtarı özellik adını belirtir. İfade anahtarı hesaplamayı belirtir. İfade, her işlem nesnesinin StartTime özelliğini alır ve geçerli tarih ve saati alan bir Get-Date
komutun sonucundan çıkarır.
Örnek 7: Not Defteri işlemlerini biçimlendirme
Bu örnek, yerel bilgisayardaki tüm not defteri işlemlerinin çalışma süresini almak için kullanırGet-CimInstance
. Uzak bilgisayarlardan bilgi almak için ComputerName parametresiyle kullanabilirsinizGet-CimInstance
.
$Processes = Get-CimInstance -Class win32_process -Filter "name='notepad.exe'"
$Processes | Format-Table ProcessName, @{ Label = "Total Running Time"; Expression={(Get-Date) - $_.CreationDate}}
ProcessName Total Running Time
----------- ------------------
notepad.exe 03:39:39.6260693
notepad.exe 00:19:56.1376922
Get-CimInstance
, notepad.exeadlı tüm yerel bilgisayarın işlemlerini açıklayan WMI Win32_Process sınıfının örneklerini alır. İşlem nesneleri değişkeninde $Processes
depolanır.
değişkenindeki $Processes
işlem nesneleri işlem hattına Format-Table
gönderilir. İşlemAdı özelliği ve yeni bir hesaplanan özellik olan Toplam Çalışma Zamanı görüntülenir.
Komut, Etiket anahtarına yeni hesaplanan özelliğin (Toplam Çalışma Süresi) adını atar. İfade anahtarının betik bloğu, işlem oluşturma tarihini geçerli tarihten çıkararak işlemin ne kadar süreyle çalıştığını hesaplar. Get-Date
Cmdlet geçerli tarihi alır. Oluşturma tarihi geçerli tarihten çıkarılır. Sonuç , Toplam Çalışma Süresi değeridir.
Örnek 8: Biçim hatalarını giderme
Aşağıdaki örneklerde , bir ifadeyle DisplayError veya ShowError parametrelerini eklemenin sonuçları gösterilir.
Get-Date | Format-Table DayOfWeek,{ $_ / $null } -DisplayError
DayOfWeek $_ / $null
--------- ------------
Wednesday #ERR
Get-Date | Format-Table DayOfWeek,{ $_ / $null } -ShowError
DayOfWeek $_ / $null
--------- ------------
Wednesday
InvalidArgument: Failed to evaluate expression " $_ / $null ".
Parametreler
-AutoSize
Cmdlet'in sütun boyutunu ve sütun sayısını verilerin genişliğine göre ayarladığını gösterir. Varsayılan olarak, sütun boyutu ve sayısı görünüm tarafından belirlenir.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DisplayError
Cmdlet'in komut satırında hatalar görüntülediğini gösterir. Bu parametre, bir Format-Table
komuttaki ifadeleri biçimlendirirken ve ifadelerle ilgili sorunları gidermeniz gerektiğinde hata ayıklama yardımı olarak kullanılabilir.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Expand
Koleksiyon nesnesinin biçimini ve koleksiyondaki nesneleri belirtir. Bu parametre, ICollection (System.Collections) arabirimini destekleyen nesneleri biçimlendirmek için tasarlanmıştır. Varsayılan değer EnumOnly'dir. Bu parametre için kabul edilebilir değerler şunlardır:
- EnumOnly: Koleksiyondaki nesnelerin özelliklerini görüntüler.
- CoreOnly: Koleksiyon nesnesinin özelliklerini görüntüler.
- Her ikisi: Koleksiyon nesnesinin özelliklerini ve koleksiyondaki nesnelerin özelliklerini görüntüler.
Type: | String |
Accepted values: | CoreOnly, EnumOnly, Both |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Cmdlet'in cmdlet'i tüm hata bilgilerini görüntülemeye yönlendirdiğini gösterir. DisplayError veya ShowError parametresiyle kullanın. Varsayılan olarak, hataya bir hata nesnesi yazıldığında veya akışları görüntülediğinde, hata bilgilerinden yalnızca bazıları görüntülenir.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-GroupBy
Bir özellik değerine göre ayrı tablolarda sıralanmış çıkışı belirtir. Örneğin, GroupBy kullanarak hizmetleri durumlarına göre ayrı tablolarda listeleyebilirsiniz.
bir ifade veya özellik girin. GroupBy parametresi, nesnelerin sıralanmasını bekler.
Sort-Object
Kullanarak nesneleri gruplandırmadan önce Format-Table
cmdlet'ini kullanın.
GroupBy parametresinin değeri yeni bir hesaplanan özellik olabilir. Hesaplanan özellik bir betik bloğu veya karma tablo olabilir. Geçerli anahtar-değer çiftleri şunlardır:
- Ad (veya Etiket) -
<string>
- İfade -
<string>
veya<script block>
- Formatstring-
<string>
Daha fazla bilgi için bkz. about_Calculated_Properties.
Type: | Object |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-HideTableHeaders
Tablodan sütun başlıklarını atlar.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Biçimlendirecek nesneleri belirtir. Nesneleri içeren bir değişken girin veya nesneleri alan bir komut veya ifade yazın.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Property
Ekranda görüntülenen nesne özelliklerini ve bunların görüntülenme sırasını belirtir. Virgülle ayırarak bir veya daha fazla özellik adı yazın veya hesaplanmış özelliği görüntülemek için karma tablo kullanın. Joker karakterlere izin verilir.
Bu parametreyi atlarsanız, ekranda görünen özellikler ilk nesnenin özelliklerine bağlıdır. Örneğin, ilk nesne PropertyA ve PropertyB'ye sahipse ancak izleyen nesneler PropertyA, PropertyB ve PropertyC'ye sahipse, yalnızca PropertyA ve PropertyB üst bilgileri görüntülenir.
Property parametresi isteğe bağlıdır. Özellik ve Görünüm parametrelerini aynı komutta kullanamazsınız.
Property parametresinin değeri yeni bir hesaplanmış özellik olabilir. Hesaplanan özellik bir betik bloğu veya karma tablo olabilir. Geçerli anahtar-değer çiftleri şunlardır:
- Ad (veya Etiket)
<string>
- İfade -
<string>
veya<script block>
- Formatstring-
<string>
- Genişlik -
<int32>
- büyük olmalıdır0
- Hizalama - değer ,
Center
veya olabilirLeft
Right
Daha fazla bilgi için bkz. about_Calculated_Properties.
Type: | Object[] |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-RepeatHeader
Her ekran dolduktan sonra tablonun üst bilgisinin görüntülenmesini tekrarlar. Yinelenen üst bilgi, çıkış veya ekran okuyucu ile sayfalama gibi less
more
bir çağrı tipine yöneltildiğinde yararlıdır.
Bu parametre PowerShell 6.2'ye eklendi.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ShowError
Bu parametre işlem hattı üzerinden hataları gönderir. Bu parametre, bir Format-Table
komuttaki ifadeleri biçimlendirirken ve ifadelerle ilgili sorunları gidermeniz gerektiğinde hata ayıklama yardımı olarak kullanılabilir.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-View
PowerShell 6'da başlayarak, varsayılan görünümler PowerShell C#
kaynak kodunda tanımlanır. *.format.ps1xml
PowerShell 5.1 ve önceki sürümlerdeki dosyalar PowerShell 6 ve sonraki sürümlerde yoktur.
View parametresi, tablo için alternatif bir biçim veya özel görünüm belirtmenize olanak tanır. Varsayılan PowerShell görünümlerini kullanabilir veya özel görünümler oluşturabilirsiniz. Özel görünüm oluşturma hakkında daha fazla bilgi için bkz. about_Format.ps1xml.
View parametresinin alternatif ve özel görünümleri tablo biçimini kullanmalıdır, Format-Table
aksi takdirde başarısız olur. Alternatif görünüm bir listeyse, cmdlet'ini Format-List
kullanın. Alternatif görünüm bir liste veya tablo değilse cmdlet'ini Format-Custom
kullanın.
Özellik ve Görünüm parametrelerini aynı komutta kullanamazsınız.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Wrap
Sonraki satırdaki sütun genişliğini aşan metni görüntüler. Varsayılan olarak, sütun genişliğini aşan metin kesilir.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Girişler
İşlem hattında herhangi bir nesneyi adresine Format-Table
gönderebilirsiniz.
Çıkışlar
Microsoft.PowerShell.Commands.Internal.Format
Format-Table
tabloyu temsil eden biçim nesnelerini döndürür.