Update-FormatData
更新當前工作階段的格式資料。
語法
Default (預設值)
Update-FormatData
[[-AppendPath] <String[]>]
[-PrependPath <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Update-FormatData指令長會將格式化檔案中的格式化資料重新載入到當前工作階段。 這個 cmdlet 讓你可以在不重啟 PowerShell 的情況下更新格式資料。
沒有參數的話,會 Update-FormatData 重新載入之前載入的格式化檔案。
你可以用參數 來 Update-FormatData 新增新的格式化檔案到會話中。
格式化檔案是以 XML 格式呈現的文字檔,並以檔案名稱副檔名為 format.ps1xml 副檔名。 檔案中的格式資料定義了 Session 中 Framework 物件Microsoft .NET顯示方式。
當 PowerShell 啟動時,它會從 PowerShell 原始碼載入格式資料。 不過,你可以建立自訂的 format.ps1xml 檔案,以更新當前工作階段的格式。 你可以用 Update-FormatData 它在不重啟 PowerShell 的情況下,將格式化資料重新載入到目前的工作階段。 當你新增或更改格式化檔案,但又不想中斷會話時,這很有用。
如需在 PowerShell 中格式化檔案的詳細資訊,請參閱 about_Format.ps1xml。
範例
範例 1:重新載入先前載入的格式化檔案
Update-FormatData
此指令會重新載入先前載入的格式化檔案。
範例 2:重新載入格式化檔案,並追蹤與記錄格式化檔案
Update-FormatData -AppendPath Trace.format.ps1xml, Log.format.ps1xml
此指令會將格式化檔案重新載入會話,包括兩個新檔案, Trace.format.ps1xml 以及 Log.format.ps1xml。
由於指令使用 AppendPath 參數,新檔案中的格式化資料會在內建檔案格式資料之後載入。
AppendPath 參數之所以被使用,是因為新檔案包含了未被內建檔案引用的物件格式資料。
範例三:編輯格式化檔案並重新載入
Update-FormatData -PrependPath "C:\test\NewFiles.format.ps1xml"
# Edit the NewFiles.format.ps1 file.
Update-FormatData
這個例子展示了編輯後如何重新載入格式化檔案。
第一個指令會將 NewFiles.format.ps1xml 該檔案加入會話中。 它使用 PrependPath 參數,是因為該檔案包含內建檔案中參考物件的格式化資料。
在新增 NewFiles.format.ps1xml 檔案並在這些工作階段測試後,作者會編輯檔案。
第二個指令使用 Update-FormatData cmdlet 來重新載入格式化檔案。 因為檔案 NewFiles.format.ps1xml 先前已載入,會 Update-FormatData 自動重新載入,無需使用參數。
參數
-AppendPath
指定此指令小程式加入會話的格式化檔案。 檔案是在 PowerShell 載入內建格式化檔案後才載入的。
在格式化 .NET 物件時,PowerShell 會使用它為每個 .NET 類型找到的第一個格式定義。 如果你使用 AppendPath 參數,PowerShell 會先從內建檔案中搜尋資料,然後才遇到你要加入的格式化資料。
使用此參數加入一個格式化未在內建格式化檔案中引用的 .NET 物件的檔案。
參數屬性
| 類型: | String[] |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | PSPath, 路徑 |
參數集
(All)
| Position: | 0 |
| 必要: | False |
| 來自管線的值: | True |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-Confirm
在執行 Cmdlet 之前,提示您進行確認。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | False |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | 參見 |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-PrependPath
指定此指令小程式加入會話的格式化檔案。 檔案會先載入,然後 PowerShell 載入內建格式化檔案。
在格式化 .NET 物件時,PowerShell 會使用它為每個 .NET 類型找到的第一個格式定義。 如果你使用 PrependPath 參數,PowerShell 會先從你新增的檔案中搜尋資料,然後才會遇到內建檔案的格式化資料。
使用此參數加入一個檔案,格式化一個 .NET 物件,該物件同時被內建格式化檔案引用。
參數屬性
| 類型: | String[] |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-WhatIf
顯示 Cmdlet 執行時會發生什麼事。 指令未執行。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | False |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | 威斯康辛 |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
CommonParameters
此 cmdlet 支援常見參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters。
輸入
String
你可以用管道(pipe)輸入包含這個 cmdlet 附加路徑的字串。
輸出
None
此 Cmdlet 不會傳回任何輸出。
備註
Update-FormatData 也會更新從模組匯入的指令格式資料。 如果模組的格式化檔案有變動,你可以執行 Update-FormatData 指令更新匯入指令的格式資料。 你不需要重新匯入模組。
Warning
受限端點,如 JEA,不得公開該 Update-FormatData 指令。 這個指令允許你在型別的格式中加入 ScriptBlock 元素。 即使會話設定為較限制性的語言模式, ScriptBlock 也可能在模式中被評估 FullLanguage 。