Share via


Export-FormatData

在格式化檔案中儲存來自目前工作階段的格式化資料。

Syntax

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 "*" -PowerShellVersion 5.1 | 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:匯出類型的格式數據

$F = Get-FormatData -TypeName "helpinfoshort" -PowerShellVersion 5.1
Export-FormatData -InputObject $F -Path "c:\test\help.format.ps1xml" -IncludeScriptBlock

這些命令會將 HelpInfoShort 類型的格式數據匯出至 Help.format.ps1xml 檔案。

第一個命令會 Get-FormatData 使用 Cmdlet 來取得 HelpInfoShort 類型的格式數據,並將它儲存在變數中 $F

第二個命令會使用 Cmdlet 的 Export-FormatDataInputObject 參數來輸入儲存在變數中的$F格式數據。 它也使用 IncludeScriptBlock 參數在輸出中包含腳本區塊。

範例 3:匯出不含腳本區塊的格式數據

Get-FormatData -TypeName "System.Diagnostics.Process" -PowerShellVersion 5.1 | 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命令省略 IncludeScriptBlock 參數的效果。

第一個命令會 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

強制執行命令而不要求使用者確認。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IncludeScriptBlock

指出是否匯出格式數據的腳本區塊。

因為指令碼區塊包含程式碼,可能被用於惡意用途,所以預設不會將它們匯出。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

指定要匯出的格式資料物件。 輸入變數,其中包含物件或取得 物件的命令,例如 Get-FormatData 命令。 您也可以使用管線會從 Get-FormatData 傳送至 Export-FormatData

Type:ExtendedTypeDefinition[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-LiteralPath

指定輸出檔案的位置。 與 Path 參數不同,LiteralPath 的值將完全依照其輸入值來使用。 沒有字元會被視為萬用字元。 如果路徑包含逸出字元,請將它括在單引號中。 單引號會指示PowerShell不要將任何字元解譯為逸出序列。

Type:String
Aliases:PSPath, LP
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-NoClobber

表示 Cmdlet 不會覆寫現有的檔案。 根據預設, Export-FormatData 除非檔案具有唯讀屬性,否則會覆寫沒有警告的檔案。

若要直接 Export-FormatData 覆寫唯讀檔案,請使用 Force 參數。

Type:SwitchParameter
Aliases:NoOverwrite
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

指定輸出檔案的位置。 輸入路徑 (選擇性) 與副檔名為 format.ps1xml 的檔案名稱。 如果您省略路徑, Export-FormatData 請在當前目錄中建立檔案。

如果您使用 .ps1xml 以外的擴展名, Update-FormatData Cmdlet 將無法辨識檔案。

如果您指定現有的檔案, Export-FormatData 除非檔案具有只讀屬性,否則會覆寫檔案而不發出警告。 若要覆寫唯讀檔案,請使用 Force 參數。 若要防止覆寫檔案,請使用 NoClobber 參數。

Type:String
Aliases:FilePath
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

輸入

ExtendedTypeDefinition

您可以使用管線將 ExtendedTypeDefinition 物件從 Get-FormatData 傳送至 Export-FormatData

輸出

None

Export-FormatData 不會傳回任何物件。 它會產生一個檔案,並將檔案儲存在指定路徑。

備註

  • 若要使用任何格式化檔案 (包括匯出的格式化檔案),工作階段的執行原則必須允許執行指令碼和設定檔。 如需詳細資訊,請參閱 about_Execution_Policies