将当前会话中的格式数据保存在一个格式文件中。
语法
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。 |
输出 |
None 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”开头的进程。输出结果表明未显示通过使用脚本块而计算出的属性值。
另请参阅