Export-FormatData
將目前會話的格式資料儲存在格式化檔案中。
語法
ByPath (預設值)
Export-FormatData
-InputObject <ExtendedTypeDefinition[]>
-Path <String>
[-Force]
[-NoClobber]
[-IncludeScriptBlock]
[<CommonParameters>]
ByLiteralPath
Export-FormatData
-InputObject <ExtendedTypeDefinition[]>
-LiteralPath <String>
[-Force]
[-NoClobber]
[-IncludeScriptBlock]
[<CommonParameters>]
Description
Export-FormatData Cmdlet 會從目前工作階段中的格式化物件建立 PowerShell 格式化檔案 (format.ps1xml)。 它會使用 ExtendedTypeDefinition 物件,Get-FormatData 傳回這些物件,並以 XML 格式將它們儲存在檔案中。
PowerShell 會使用格式化檔案中的數據 (format.ps1xml) 來產生會話中Microsoft .NET Framework 對象的默認顯示。 您可以檢視和編輯格式化檔案,並使用 Update-FormatData Cmdlet 將格式化數據新增至會話。
如需在 PowerShell 中格式化檔案的詳細資訊,請參閱 about_Format.ps1xml。
範例
範例 1:匯出會話格式數據
Get-FormatData -TypeName "*" |
Export-FormatData -Path "AllFormat.ps1xml" -IncludeScriptBlock
此命令會將會話中的所有格式數據匯出至 AllFormat.ps1xml 檔案。
命令會使用 Get-FormatData Cmdlet 來取得會話中的格式數據。
* 參數的 值會指示 Cmdlet 取得會話中的所有數據。
此命令會使用管線運算符 (|) 將格式數據從 Get-FormatData 命令傳送至 Export-FormatData Cmdlet,以將格式數據匯出至 AllFormat.ps1xml 檔案。
Export-FormatData 命令會使用 IncludeScriptBlock 參數,在檔案的格式數據中包含腳本區塊。
範例 2:匯出類型的格式數據
$F = Get-FormatData -TypeName "HelpInfoShort"
Export-FormatData -InputObject $F -Path "C:\test\Help.format.ps1xml" -IncludeScriptBlock
這些命令會將 HelpInfoShort 類型的格式數據匯出至 Help.format.ps1xml 檔案。
第一個命令會使用 Get-FormatData Cmdlet 來取得 HelpInfoShort 類型的格式數據,並將它儲存在 $F 變數中。
第二個命令會使用 Cmdlet 的 Export-FormatData 參數來輸入儲存在 $F 變數中的格式數據。 它也會使用 IncludeScriptBlock 參數,在輸出中包含腳本區塊。
範例 3:匯出不含腳本區塊的格式數據
Get-FormatData -TypeName "System.Diagnostics.Process" |
Export-FormatData -Path Process.format.ps1xml
Update-FormatData -PrependPath ".\Process.format.ps1xml"
Get-Process p*
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
323 5600 powershell
336 3900 powershell_ise
138 4076 PresentationFontCache
此範例顯示從 命令省略 Export-FormatData 參數的效果。
第一個命令會使用 Get-FormatData Cmdlet 來取得 System.Diagnostics.Process 物件 Get-Process Cmdlet 傳回的格式數據。 命令會使用管線運算符 (|) 將格式數據傳送至 Export-FormatData Cmdlet,以將它匯出至目前目錄中的 Process.format.ps1xml 檔案。
在此情況下,Export-FormatData 命令不會使用 IncludeScriptBlock 參數。
第二個命令會使用 Update-FormatData Cmdlet,將 Process.format.ps1xml 檔案新增至目前的會話。 命令會使用 PrependPath 參數,以確保在處理對象的標準格式化數據之前,找到 Process.format.ps1xml 檔案中進程物件的格式化數據。
第三個命令會顯示這項變更的效果。 命令會使用 Get-Process Cmdlet 來取得名稱開頭為 P 的進程。輸出顯示使用文本區塊計算的屬性值在顯示中遺失。
參數
-Force
強制命令執行,而不要求使用者確認。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-IncludeScriptBlock
指出是否匯出格式數據的腳本區塊。
因為腳本區塊包含程序代碼,而且可以惡意使用,所以預設不會匯出它們。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-InputObject
指定要匯出的格式資料物件。 輸入變數,其中包含物件或取得物件的命令,例如 Get-FormatData 命令。 您也可以使用管線會對象從 Get-FormatData 傳送至 Export-FormatData。
參數屬性
| 類型: | |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | True |
| 來自管線的值: | True |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-LiteralPath
指定輸出檔的位置。 不同於 Path 參數,LiteralPath 的值會與輸入時完全相同。 不會將任何字元解譯為通配符。 如果路徑包含逸出字元,請以單引弧括住它。 單引號會告知PowerShell不要將任何字元解譯為逸出序列。
參數屬性
| 類型: | String |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | PSPath, LP |
參數集
ByLiteralPath
| Position: | Named |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-NoClobber
指出 Cmdlet 不會覆寫現有的檔案。 根據預設,除非檔案具有只讀屬性,否則 Export-FormatData 會覆寫沒有警告的檔案。
若要指示 Export-FormatData 覆寫唯讀檔案,請使用 Force 參數。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | NoOverwrite |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Path
指定輸出檔的位置。 輸入路徑(選擇性)和擴展名為 format.ps1xml 的檔名。 如果您省略路徑,Export-FormatData 會在目前目錄中建立檔案。
如果您使用 .ps1xml以外的擴展名,Update-FormatData Cmdlet 將無法辨識檔案。
如果您指定現有的檔案,除非檔案具有只讀屬性,否則 Export-FormatData 覆寫檔案而不發出警告。 若要覆寫唯讀檔案,請使用 Force 參數。 若要防止覆寫檔案,請使用 NoClobber 參數。
參數屬性
| 類型: | String |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | FilePath |
參數集
ByPath
| Position: | Named |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
CommonParameters
此 Cmdlet 支援一般參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters。
輸入
ExtendedTypeDefinition
您可以使用管線將 extendedTypeDefinition 物件從Get-FormatData 管線傳送至此 Cmdlet。
輸出
None
此 Cmdlet 不會傳回任何輸出。 它會產生檔案,並將它儲存在指定的路徑中。
備註
- 若要使用任何格式化檔案,包括導出的格式檔案,會話的執行原則必須允許腳本和組態檔執行。 如需詳細資訊,請參閱 about_Execution_Policies。