Windows Powershell對(duì)象轉(zhuǎn)換成文本
Out-Default可以將對(duì)象轉(zhuǎn)換成可視的文本。事實(shí)上Out-Default會(huì)首先調(diào)用Format-Table,將更多的屬性默認(rèn)隱藏。再調(diào)用Out-Host將結(jié)果輸出在控制臺(tái)上。因此下面的三組命令執(zhí)行結(jié)果是相同的。
ls ls | Format-Table | Out-Host ls | Out-Default
顯示隱藏的對(duì)象屬性
要查看對(duì)象結(jié)果的所有屬性,可是使用
ls | Format-Table *
這樣因?yàn)閷傩院蛯傩缘膬?nèi)容太多可能不會(huì)顯示完全,可以使用文本換行參數(shù)
ls | Format-Table * -Wrap
格式化管道結(jié)果
首先可是使用下面的命令查看所有以Format打頭的命令
PS C:Powershell> Get-Command -Verb format CommandType Name Definition ----------- ---- ---------- Cmdlet Format-Custom Format-Custom [[-Property] Cmdlet Format-List Format-List [[-Property] Cmdlet Format-Table Format-Table [[-Property] Cmdlet Format-Wide Format-Wide [[-Property]
Format-Custom: 使用自定義視圖來設(shè)置輸出的格式。
Format-List: 將輸出的格式設(shè)置為屬性列表,其中每個(gè)屬性均各占一行顯示。
Format-Table: 將輸出的格式設(shè)置為表。
Format-Wide: 將對(duì)象的格式設(shè)置為只能顯示每個(gè)對(duì)象的一個(gè)屬性的寬表。
顯示指定的屬性
要顯示指定的屬性,你首先得知道結(jié)果對(duì)象中的屬性名,例如:
PS C:Powershell> ls | Format-Table Name,Length,LastWriteTime Name Length LastWriteTime ---- ------ ------------- ABC 2011/11/23 17:25:53 myscript 2011/11/29 18:21:28 a.html 67580 2011/11/24 18:30:13 a.txt 26384 2011/11/24 20:04:31 alias 12060 2011/11/24 20:26:36
使用通配符
例如要查看當(dāng)前以i打頭的進(jìn)程,并顯示進(jìn)程的名字和其它以”pe”打頭,以”64″結(jié)尾的進(jìn)程。
PS C:Powershell> Get-Process i* | Format-Table Name,pe*64 Name PeakPagedMemorySize PeakWorkingSet64 PeakVirtualMemorySi 64 ze64 ---- ------------------- ---------------- ------------------- Idle 0 0 0 IMECFMUI 946176 4292608 48054272 IMECMNT 1564672 5320704 65482752 IMEDICTUPDATE 1224704 4579328 31965184
腳本塊作為屬性
在Powershell中文件的Length默認(rèn)以byte作為單位如果你象讓它輸出時(shí)以KB顯示,可是考慮羨下面的方法。
PS C:Powershell> ls | Format-Table Name,{ [int]($_.Length/1kb) } Name [int]($_.Length/1kb) ---- ---------------------- function.ps1 21 LogoTestConfig.xml 0 ls.html 3 name.html 7
修改列標(biāo)題
使用合成的屬性,如果使用腳本塊作為標(biāo)題,看著很不爽。可以使用Lable設(shè)置。同樣是上面的例子,稍作修改。
PS C:Powershell> $column = @{Expression={ [int]($_.Length/1KB) }; Label="KB" } PS C:Powershell> Dir | Format-Table Name, $column Name KB ---- ---------------------- function.ps1 21 LogoTestConfig.xml 0 ls.html 3 name.html
優(yōu)化列寬度
因?yàn)镻owershell的絕大多數(shù)輸出都是實(shí)時(shí)的流模式,所以下一條結(jié)果的寬度未知,Powershell的結(jié)果會(huì)默認(rèn)采用分散對(duì)齊,這樣可以最大限度利用控制臺(tái)的寬度,但是可以通過-auto參數(shù)對(duì)列的寬帶進(jìn)行優(yōu)化,會(huì)將屬性值的最大寬帶作為每一列的寬度,對(duì)比一下吧:
PS C:Powershell> ls 目錄: C:Powershell Mode LastWriteTime Length Name ---- ------------- ------ ---- d---- 2011/11/23 17:25 ABC d---- 2011/11/29 18:21 myscript -a--- 2011/11/24 18:30 67580 a.html -a--- 2011/11/24 20:04 26384 a.txt PS C:Powershell> ls | Format-Table -AutoSize 目錄: C:Powershell Mode LastWriteTime Length Name ---- ------------- ------ ---- d---- 2011/11/23 17:25 ABC d---- 2011/11/29 18:21 myscript -a--- 2011/11/24 18:30 67580 a.html
相關(guān)文章
PowerShell 自動(dòng)備份oracle并上傳到ftp
我這里有這樣一個(gè)需求:有一個(gè)數(shù)據(jù)庫,每天使用SQL Server Agent自動(dòng)生成備份文件。然后,這個(gè)數(shù)據(jù)庫非常重要,需要把每天的備份上傳一個(gè)遠(yuǎn)程的FTP服務(wù)器上去。下面我們來看看如何使用Powershell來實(shí)現(xiàn)吧2015-08-08powershell 將文本轉(zhuǎn)換成表格的另一種可行方式
這篇文章主要介紹了powershell 將文本轉(zhuǎn)換成表格的另一種可行方式,需要的朋友可以參考下2014-08-08Windows Powershell調(diào)用靜態(tài)方法
Powershell將信息存儲(chǔ)在對(duì)象中,每個(gè)對(duì)象都會(huì)有一個(gè)具體的類型,簡(jiǎn)單的文本會(huì)以System.String類型存儲(chǔ),日期會(huì)以System.DateTime類型存儲(chǔ)。任何.NET對(duì)象都可以通過GetType()方法返回它的類型,該類型中有一個(gè)FullName屬性,可以查看類型的完整名稱。2014-09-09PowerShell檢查網(wǎng)卡狀態(tài)和對(duì)應(yīng)的電源設(shè)置
這篇文章主要介紹了PowerShell檢查網(wǎng)卡狀態(tài)和對(duì)應(yīng)的電源設(shè)置,本文直接給出了實(shí)現(xiàn)方法和使用命令及輸出結(jié)果,需要的朋友可以參考下2015-03-03Powershell 之批量獲取文件大小的實(shí)現(xiàn)代碼
這篇文章主要介紹了Powershell 之批量獲取文件大小的實(shí)現(xiàn)代碼,需要的朋友可以參考下2016-11-11Powershell獲取系統(tǒng)中所有可停止的服務(wù)
這篇文章主要介紹了Powershell獲取系統(tǒng)中所有可停止的服務(wù),本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-03-03PowerShell實(shí)現(xiàn)測(cè)試端口可用性腳本分享
這篇文章主要介紹了PowerShell實(shí)現(xiàn)測(cè)試端口可用性腳本分享,本文腳本相對(duì)簡(jiǎn)單,使用TCP套接字實(shí)現(xiàn)需求,需要的朋友可以參考下2014-11-11