Export-FormatData

将当前会话中的格式设置数据保存在格式设置文件中。

语法

Export-FormatData
      -InputObject <ExtendedTypeDefinition[]>
      -Path <String>
      [-Force]
      [-NoClobber]
      [-IncludeScriptBlock]
      [<CommonParameters>]
Export-FormatData
      -InputObject <ExtendedTypeDefinition[]>
      -LiteralPath <String>
      [-Force]
      [-NoClobber]
      [-IncludeScriptBlock]
      [<CommonParameters>]

说明

cmdlet Export-FormatData 从当前会话中的格式设置对象 (format.ps1xml) 创建 PowerShell 格式设置文件。 它采用 返回的 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,该 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-FormatDataInputObject 参数输入保存在变量中的$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,该 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