1. <dd id="erndk"></dd>
                1. PowerShell 筆記 - 輸出格式化

                  互聯網 2022/5/24 7:06:01

                  格式化用于覆蓋默認值并為命令創建自定義的輸出格式 默認格式 powershell的格式定義在.format.ps1xml文件中, 在powershell的安裝目錄下面 > cd $PSHOME > get-process | gm # 查詢process的類型為 System.Diagnostics.Process, 在DotNetTypes.format.ps1xml 文件…

                  格式化用于覆蓋默認值并為命令創建自定義的輸出格式

                  默認格式

                  powershell的格式定義在.format.ps1xml文件中, 在powershell的安裝目錄下面

                  > cd $PSHOME
                  > get-process | gm # 查詢process的類型為 System.Diagnostics.Process, 在DotNetTypes.format.ps1xml 文件中查找它, 其中定義了對象的輸出格式
                  

                  第一個規則是系統會檢查對象類型是否已經被預定義視圖處理過。也就是我們在“DotNetType.format.ps1xml ”中所見到的:一個針對-process 對象的預定義視圖。PowerShell中還預裝了其他的“.format.ps1xml ”文件,這些文件在Shell啟動時會被自動加載

                  第二個格式化規則:格式化系統會查找是否有人為該對象類型預定義默認顯示屬性集。這些可以在另外一個配置文件“Types.ps1xml”中找到

                  格式化第三個規則—用于確定輸出樣式。如果格式化系統顯示4個或以下的屬性,輸出結果會以表格形式展現。如果有5個或以上的屬性,輸出結果會使用列表形式

                  格式化表格

                  Format-Table 常用屬性

                  • autosize 強制結果集僅保存足夠的列空間,使得表格更加緊湊,但是會使得Shell花費額外時間生成輸出結果
                  • property 接收一個逗號分隔符列表,該列表包含期望顯示的屬性值
                  • groupby 每當指定的屬性值發生變化時,生成一個新的列頭集合
                  • wrap 如果Shell需要把列的信息截斷,會在列尾帶上省略號(… )以便標識信息被截斷

                  格式化列表

                  把對象輸出格式轉化為列表

                  Get-Process | Format-List
                  

                  格式化寬列表

                  僅僅展示一個屬性的值, 默認會查找對象的name屬性, col指定輸出列數

                  Get-Process | Format-Wide name -col 9
                  

                  自定義列與列表頭目

                  > Get-Service | Format-Table @{name='ServiceName';expression={$_.Name}},Status,DisplayName
                  
                  ServiceName                                 Status DisplayName
                  -----------                                 ------ -----------
                  AarSvc_98c709f                             Stopped Agent Activation Runtime_98c709f
                  AJRouter                                   Stopped AllJoyn Router Service
                  ALG                                        Stopped Application Layer Gateway Service
                  AntiCheatExpert Service                    Stopped AntiCheatExpert Service
                  AppIDSvc                                   Stopped Application Identity
                  ...
                  
                  > Get-Process | Sort-Object VM -Descending | Format-Table @{l='ServiceName';e={$_.Name}},@{l='VM(MB)';e={$_.VM / 1MB}}
                  

                  windows 還提供了另一種輸出結果Out-GridView. OutGridView繞過了格式化子系統,并且不接受Format-xxx的輸出

                  隨時隨地學軟件編程-關注百度小程序和微信小程序
                  關于找一找教程網

                  本站文章僅代表作者觀點,不代表本站立場,所有文章非營利性免費分享。
                  本站提供了軟件編程、網站開發技術、服務器運維、人工智能等等IT技術文章,希望廣大程序員努力學習,讓我們用科技改變世界。
                  [PowerShell 筆記 - 輸出格式化]http://www.yachtsalesaustralia.com/tech/detail-324747.html

                  贊(0)
                  關注微信小程序
                  程序員編程王-隨時隨地學編程

                  掃描二維碼或查找【程序員編程王】

                  可以隨時隨地學編程啦!

                  技術文章導航 更多>
                  国产在线拍揄自揄视频菠萝

                        1. <dd id="erndk"></dd>