Export-FormatData
将当前会话中的格式设置数据保存在格式设置文件中。
语法
Export-FormatData
-InputObject <ExtendedTypeDefinition[]>
-Path <String>
[-Force]
[-NoClobber]
[-IncludeScriptBlock]
[<CommonParameters>]
Export-FormatData
-InputObject <ExtendedTypeDefinition[]>
-LiteralPath <String>
[-Force]
[-NoClobber]
[-IncludeScriptBlock]
[<CommonParameters>]
说明
Export-FormatData
cmdlet 可从当前会话中的格式化对象创建 PowerShell 格式设置文件 (format.ps1xml)。 它采用 Get-FormatData
返回的 ExtendedTypeDefinition 对象,并将其保存在使用 XML 格式的文件中。
Windows PowerShell 使用格式设置文件 (format.ps1xml) 中的数据来生成会话中 Microsoft .NET Framework 对象的默认显示。 你可以查看和编辑这些格式设置文件,并使用 Update-FormatData cmdlet 将格式设置数据添加到会话中。
有关 Windows 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
变量中。
第二个命令使用 Export-FormatData
cmdlet 的 InputObject 参数来输入保存在 $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
此示例显示省略 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 开头的进程。输出显示,显示中缺少使用脚本块计算的属性值。
参数
-Force
强制运行命令而不要求用户确认。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-IncludeScriptBlock
指示是否导出格式数据中的脚本块。
因为脚本块包含代码且可被恶意使用,所以在默认情况下不导出它们。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-InputObject
指定要导出的格式数据对象。 输入一个包含对象的变量,或可获取这些对象的命令(如 Get-FormatData
命令)。 还可以通过管道将对象从 Get-FormatData
传输到 Export-FormatData
。
类型: | ExtendedTypeDefinition[] |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-LiteralPath
指定输出文件的位置。 与 Path 参数不同,LiteralPath 的值严格按照所键入的形式使用。 不会将任何字符解释为通配符。 如果路径包括转义符,请将其括在单引号中。 单引号会告知 Windows PowerShell 不要将所有字符都解释为转义序列。
类型: | String |
别名: | PSPath |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-NoClobber
指示 cmdlet 不会覆盖现有文件。 默认情况下,Export-FormatData
将在不显示警告的情况下覆盖文件,除非该文件具有只读属性。
若要指示 Export-FormatData
覆盖只读文件,请使用 Force 参数。
类型: | SwitchParameter |
别名: | NoOverwrite |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Path
指定输出文件的位置。
输入路径(可选)和具有 format.ps1xml 文件扩展名的文件名。
如果省略路径,则 Export-FormatData
将在当前目录中创建该文件。
如果使用 .ps1xml 以外的文件扩展名,则 Update-FormatData
cmdlet 将无法识别该文件。
如果指定现有文件,则 Export-FormatData
将在不显示警告的情况下覆盖文件,除非该文件具有只读属性。 若要覆盖只读文件,请使用 Force 参数。 若要防止文件被覆盖,请使用 NoClobber 参数。
类型: | String |
别名: | FilePath |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
输入
可以通过管道将 ExtendedTypeDefinition 对象从 Get-FormatData
传输到此 cmdlet。
输出
None
此 cmdlet 不返回任何输出。 它将生成一个文件并将其保存在指定的路径中。
备注
- 若要使用任何格式设置文件(包括已导出的格式设置文件),会话的执行策略必须允许运行脚本和配置文件。 有关更多信息,请参阅 about_Execution_Policies。