Export-FormatData
將目前會話的格式資料儲存在格式化檔案中。
語法
Export-FormatData
-InputObject <ExtendedTypeDefinition[]>
-Path <String>
[-Force]
[-NoClobber]
[-IncludeScriptBlock]
[<CommonParameters>]
Export-FormatData
-InputObject <ExtendedTypeDefinition[]>
-LiteralPath <String>
[-Force]
[-NoClobber]
[-IncludeScriptBlock]
[<CommonParameters>]
Description
Cmdlet Export-FormatData
會從目前會話中的格式化物件建立 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 來取得會話中的格式數據。 TypeName 參數的 值*
會指示 Cmdlet 取得會話中的所有數據。
此命令會使用管線運算符 (|
) 將命令中的格式數據 Get-FormatData
傳送至 Export-FormatData
Cmdlet,以將格式數據匯出至 AllFormat.ps1 檔案。
此命令 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
InputObject 參數來輸入儲存在變數中的$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
此範例顯示從命令省略 IncludeScriptBlock 參數 Export-FormatData
的效果。
第一個命令會Get-FormatData
使用 Cmdlet 來取得 Get-Process Cmdlet 傳回之 System.Diagnostics.Process 物件的格式數據。 命令會使用管線運算符 (|
) 將格式數據傳送至 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 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-IncludeScriptBlock
指出是否匯出格式數據的腳本區塊。
因為腳本區塊包含程序代碼,而且可以惡意使用,所以預設不會匯出它們。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-InputObject
指定要匯出的格式資料物件。 輸入包含物件或取得物件的命令的變數,例如 Get-FormatData
命令。 您也可以使用管線會從 Get-FormatData
傳送至 Export-FormatData
。
類型: | ExtendedTypeDefinition[] |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-LiteralPath
指定輸出檔的位置。 不同於Path參數,LiteralPath的值會與輸入時完全相同。 不會將任何字元解譯為通配符。 如果路徑包含逸出字元,請以單引弧括住它。 單引號會告知PowerShell不要將任何字元解譯為逸出序列。
類型: | String |
別名: | PSPath, LP |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-NoClobber
指出 Cmdlet 不會覆寫現有的檔案。 根據預設, Export-FormatData
除非檔案具有唯讀屬性,否則會覆寫沒有警告的檔案。
若要直接 Export-FormatData
覆寫唯讀檔案,請使用 Force 參數。
類型: | SwitchParameter |
別名: | NoOverwrite |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Path
指定輸出檔的位置。
輸入路徑 (選擇性) 和擴展名為 format.ps1xml 的檔名。
如果您省略路徑, Export-FormatData
請在目前目錄中建立檔案。
如果您使用 .ps1xml 以外的擴展名, Update-FormatData
Cmdlet 將無法辨識檔案。
如果您指定現有的檔案, Export-FormatData
除非檔案具有只讀屬性,否則會覆寫檔案而不發出警告。 若要覆寫唯讀檔案,請使用 Force 參數。 若要防止覆寫檔案,請使用 NoClobber 參數。
類型: | String |
別名: | FilePath |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
輸入
您可以使用管線 將 ExtendedTypeDefinition 物件從 Get-FormatData
傳送至此 Cmdlet。
輸出
None
此 Cmdlet 不會傳回任何輸出。 它會產生檔案,並將它儲存在指定的路徑中。
備註
- 若要使用任何格式化檔案,包括導出的格式檔案,會話的執行原則必須允許腳本和組態檔執行。 如需詳細資訊,請參閱 about_Execution_Policies。