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 。