將目前工作階段的格式化資料儲存到格式化檔案中。

語法

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" 的處理序。輸出顯示使用指令碼區塊所計算的屬性值將會從顯示畫面中遺漏。






請參閱




目錄