Export-FormatData
將目前工作階段的格式化資料儲存到格式化檔案中。
語法
Export-FormatData [-Force] [-IncludeScriptBlock] [-InputObject <ExtendedTypeDefinition[]>] [-NoClobber] [-Path <string>] [<CommonParameters>]
描述
Export-FormatData Cmdlet 會從目前工作階段的格式化物件建立 Windows PowerShell 格式化檔案 (format.ps1xml)。它會採用 Get-FormatData 傳回的 ExtendedTypeDefinition 物件,並以 XML 格式將其儲存在檔案中。
Windows PowerShell 會使用格式化檔案 (format.ps1xml) 中的資料,在工作階段中產生 Microsoft .NET Framework 物件的預設顯示。您可以檢視及編輯格式化檔案,並使用 Update-FormatData Cmdlet 將格式化資料加入至工作階段。
如需 Windows PowerShell 中格式化檔案的詳細資訊,請參閱 about_Format.ps1xml。
參數
-Force
覆寫現有輸出檔案,即使檔案有唯讀屬性亦然。
必要? |
false |
位置? |
named |
預設值 |
False |
接受管線輸入? |
false |
接受萬用字元? |
false |
-IncludeScriptBlock
判斷是否匯出格式資料中的指令碼區塊。
因為指令碼區塊包含程式碼而且可能會遭人惡意利用,所以預設情況下不會將其匯出。
必要? |
false |
位置? |
named |
預設值 |
False |
接受管線輸入? |
false |
接受萬用字元? |
false |
-InputObject <ExtendedTypeDefinition[]>
指定要匯出的格式資料物件。輸入包含物件的變數或是可取得物件的命令,如 Get-FormatData 命令。您也可以經由管道將物件從 Get-FormatData 輸出至 Export-FormatData。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
true (ByValue) |
接受萬用字元? |
false |
-NoClobber
防止此 Cmdlet 覆寫現有的檔案。根據預設,Export-FormatData 會覆寫檔案而不顯示警告,除非檔案具有唯讀屬性。
若要指示 Export-FormatData 覆寫唯讀檔案,請使用 Force 參數。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
-Path <string>
指定輸出檔的位置。請輸入路徑 (選擇性) 以及副檔名為 format.ps1xml 的檔案名稱。如果您省略路徑,Export-FormatData 會在目前的目錄中建立檔案。
如果您使用 .ps1xml 以外的副檔名,Update-FormatData Cmdlet 將無法辨識檔案。
如果您指定現有檔案,除非該檔案擁有唯讀屬性,否則 Export-FormatData 便會覆寫該檔案而不顯示警告。若要覆寫唯讀檔案,請使用 Force 參數。若要避免檔案遭到覆寫,請使用 NoClobber 參數。
必要? |
false |
位置? |
named |
預設值 |
無 |
接受管線輸入? |
false |
接受萬用字元? |
false |
<CommonParameters>
這個 Cmdlet 支援一般參數:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。如需詳細資訊,請參閱 about_Commonparameters.
輸入和輸出
輸入型別是可經由管道輸出至 Cmdlet 的物件型別。傳回型別則是 Cmdlet 所傳回的物件型別。
輸入 |
System.Management.Automation.ExtendedTypeDefinition 您可以經由管道將 ExtendedTypeDefinition 物件從 Get-FormatData 輸出至 Export-FormatData。 |
輸出 |
無 Export-FormatData 不會傳回任何物件。它會產生檔案,並將它儲存到指定的路徑中。 |
附註
若要使用任何格式化檔案,包括匯出的格式化檔案,工作階段的執行原則必須允許執行指令碼和組態檔。如需詳細資訊,請參閱 about_Execution_Policies。
範例 1
C:\PS>get-formatdata -typename * | export-formatdata -path allformat.ps1xml -IncludeScriptBlock
描述
-----------
這個命令會將工作階段中的所有格式資料匯出到 AllFormat.ps1xml 檔案。
此命令會使用 Get-FormatData Cmdlet 取得工作階段中的格式資料。如果 TypeName 參數值為 * (全部),則會指示此 Cmdlet 取得工作階段中的所有資料。
此命令會使用管線運算子 (|) 將格式資料從 Get-FormatData 命令傳送到 Export-FormatData Cmdlet,此 Cmdlet 會將格式資料匯出到 AllFormat.ps1 檔案。
Export-FormatData 命令會使用 IncludeScriptBlock 參數,在檔案的格式資料中包含指令碼區塊。
範例 2
C:\PS>$f = get-formatdata -typename helpinfoshort
C:\PS> export-formatdata -inputObject $f -path c:\test\help.format.ps1xml -IncludeScriptBlock
描述
-----------
這些命令會將 HelpInfoShort 型別的格式資料匯出到 Help.format.ps1xml 檔案。
第一個命令會使用 Get-FormatData Cmdlet 取得 HelpInfoShort 型別的格式資料,並將它儲存在 $f 變數中。
第二個命令會使用 Export-FormatData 的 InputObject 參數,輸入 $f 格式內所儲存的格式資料。此命令也會使用 IncludeScriptBlock 參數,在輸出中包含指令碼區塊。
範例 3
C:\PS>get-formatdata -typename System.Diagnostics.Process | export-FormatData -path process.format.ps1xml
C:\PS> Update-FormatData -prependPath .\process.format.ps1xml
C:\PS> 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 命令省略 IncludeScriptBlock 參數所產生的影響。
第一個命令會使用 Get-FormatData Cmdlet 取得 Get-Process Cmdlet 所傳回之 System.Diagnostics.Process 物件的格式資料。此命令會使用管線運算子 (|) 將格式化資料傳送給 Export-FormatData Cmdlet,此 Cmdlet 會將它匯出到目前目錄中的 Process.format.ps1xml 檔案。
在此例中,Export-FormatData 命令不會使用 IncludeScriptBlock 參數。
第二個命令會使用 Update-FormatData Cmdlet 將 Process.format.ps1xml 檔案加入至目前的工作階段。此命令會使用 PrependPath 參數來確定先找到 Process.format.ps1xml 檔案中處理序物件的格式化資料,然後再找到處理序物件的標準格式化資料。
第三個命令會顯示這項變更的影響。此命令會使用 Get-Process Cmdlet 取得名稱開頭為 "P" 的處理序。輸出顯示使用指令碼區塊所計算的屬性值將會從顯示畫面中遺漏。