Update-FormatData
更新当前会话中的格式设置数据。
语法
Default (默认值)
Update-FormatData
[[-AppendPath] <String[]>]
[-PrependPath <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
说明
该 cmdlet 将 Update-FormatData 格式化文件的格式数据重新加载到当前会话中。 通过此 cmdlet,无需重启 PowerShell 即可更新格式数据。
如果没有参数, Update-FormatData 请重新加载之前加载的格式设置文件。
可以使用 Update-FormatData 参数将新的格式文件添加到会话。
格式化文件是扩展名为 XML 格式的 format.ps1xml 文本文件。 文件中的格式设置数据定义会话中Microsoft .NET框架对象的显示。
PowerShell 启动时,它会从 PowerShell 源代码加载格式数据。 但是,可以创建自定义 format.ps1xml 文件以更新当前会话中的格式设置。 无需重启 PowerShell 即可用于 Update-FormatData 将格式数据重新加载到当前会话中。 在添加或更改格式化文件时,这非常有用,但不想中断会话。
有关在 PowerShell 中格式化文件的详细信息,请参阅 about_Format.ps1xml。
示例
示例 1:重新加载以前加载的格式文件
Update-FormatData
此命令将重新加载之前加载的格式设置文件。
示例 2:重新加载格式化文件和跟踪和日志格式设置文件
Update-FormatData -AppendPath Trace.format.ps1xml, Log.format.ps1xml
此命令将格式化文件重新加载到会话中,包括两个新文件和 Trace.format.ps1xmlLog.format.ps1xml。
由于该命令使用 AppendPath 参数,因此新文件中的格式设置数据将加载到内置文件中的格式设置数据之后。
使用 AppendPath 参数是因为新文件包含内置文件中未引用的对象的格式设置数据。
示例 3:编辑格式文件并重新加载它
Update-FormatData -PrependPath "C:\test\NewFiles.format.ps1xml"
# Edit the NewFiles.format.ps1 file.
Update-FormatData
此示例演示如何在编辑格式文件后重新加载格式文件。
第一个命令将 NewFiles.format.ps1xml 文件添加到会话。 它使用 PrependPath 参数,因为该文件包含内置文件中引用的对象的格式设置数据。
添加 NewFiles.format.ps1xml 文件并在这些会话中测试该文件后,作者将编辑该文件。
第二个命令使用 Update-FormatData cmdlet 重新加载格式化文件。
NewFiles.format.ps1xml由于文件以前已加载,因此无需使用参数即可Update-FormatData自动重新加载该文件。
参数
-AppendPath
指定此 cmdlet 添加到会话的格式设置文件。 PowerShell 加载内置格式设置文件后,将加载文件。
设置.NET对象的格式时,PowerShell 使用它为每个.NET类型找到的第一个格式定义。 如果使用 AppendPath 参数,PowerShell 会在遇到要添加的格式数据之前搜索内置文件中的数据。
使用此参数可添加格式化内置格式文件中未引用.NET对象的文件。
参数属性
| 类型: | String[] |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | PSPath, 路径 |
参数集
(All)
| Position: | 0 |
| 必需: | False |
| 来自管道的值: | True |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
-Confirm
在运行 cmdlet 之前,提示你进行确认。
参数属性
| 类型: | SwitchParameter |
| 默认值: | False |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | Cf |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-PrependPath
指定此 cmdlet 添加到会话的格式设置文件。 在 PowerShell 加载内置格式设置文件之前,将加载文件。
设置.NET对象的格式时,PowerShell 使用它为每个.NET类型找到的第一个格式定义。 如果使用 PrependPath 参数,PowerShell 将在遇到内置文件中的格式设置数据之前搜索要添加的文件中的数据。
使用此参数可添加格式化内置格式文件中也引用的.NET对象的文件。
参数属性
| 类型: | String[] |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-WhatIf
显示 cmdlet 运行时会发生什么情况。 命令脚本未运行。
参数属性
| 类型: | SwitchParameter |
| 默认值: | False |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | 无线 |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CommonParameters
此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters。
输入
String
可以通过管道将包含追加路径的字符串传递给此 cmdlet。
输出
None
此 cmdlet 不返回任何输出。
备注
Update-FormatData 还会更新从模块导入的会话中的命令的格式设置数据。 如果模块的格式文件发生更改,可以运行命令 Update-FormatData 来更新导入的命令的格式数据。 无需再次导入模块。
Warning
受限终结点(如 JEA)不得公开 Update-FormatData 该命令。 此命令允许向类型的格式添加 ScriptBlock 元素。 即使会话配置为使用更严格的语言模式,也可以以FullLanguage模式评估 ScriptBlock。