[玩转系统] 格式化文件概述
作者:精品下载站 日期:2024-12-14 02:44:38 浏览:13 分类:玩电脑
格式化文件概述
命令(cmdlet、函数和脚本)返回的对象的显示格式是使用格式化文件(format.ps1xml 文件)定义的。 PowerShell 提供了其中几个文件,用于定义 PowerShell 提供的命令返回的对象的显示格式,例如 Get-Process
cmdlet 返回的 System.Diagnostics.Process 对象。但是,您也可以创建自己的自定义格式文件来覆盖默认显示格式,或者可以编写自定义格式文件来定义您自己的命令返回的对象的显示。
这很重要
格式化文件并不能确定返回到管道的对象的元素。当对象返回到管道时,该对象的所有成员都可用,即使某些成员未显示也是如此。
PowerShell 使用这些格式化文件中的数据来确定显示的内容以及显示的数据的格式。显示的数据可以包括对象的属性或脚本的值。如果您想要显示某些无法直接从对象属性获得的值,则可以使用脚本,例如将对象的两个属性的值相加,然后将总和显示为一条数据。显示数据的格式化是通过定义要显示的对象的视图来完成的。您可以为每个对象定义单个视图,可以为多个对象定义单个视图,也可以为同一对象定义多个视图。您可以定义的视图数量没有限制。
格式化文件的共同特征
每个格式化文件可以定义以下组件,这些组件可以在该文件定义的所有视图之间共享:
-
默认配置设置,例如表格行中显示的数据如果长于列宽是否显示在下一行。有关这些设置的详细信息,请参阅 TableRowEntry 的换行元素。
可以通过格式化文件的任何视图显示的对象集。有关这些集(称为选择集)的详细信息,请参阅定义对象集。
格式化文件的所有视图均可使用的通用控件。控件使您可以更好地控制数据的显示方式。有关控件的更多信息,请参阅定义自定义控件。
设置视图格式
格式化视图可以以表格格式、列表格式、宽格式和自定义格式显示对象。在大多数情况下,每个格式定义都由一组描述视图的 XML 标记来描述。每个视图都包含视图的名称、使用该视图的对象以及视图的元素,例如表视图的列和行信息。
表格视图
在一列或多列中列出对象或脚本块值的属性。每列代表对象的单个属性或脚本值。您可以定义一个表视图来显示对象的所有属性、对象属性的子集或属性和脚本值的组合。表的每一行代表一个返回的对象。创建表视图与将对象通过管道传输到 Format-Table
cmdlet 非常相似。有关此视图的更多信息,请参阅表视图。
列表视图
在单列中列出对象或脚本值的属性。列表的每一行显示一个可选标签或属性名称,后跟属性或脚本的值。创建列表视图与通过管道将对象传递给 Format-List
cmdlet 非常相似。有关此视图的更多信息,请参阅列表视图。
宽视野
在一列或多列中列出对象的单个属性或脚本值。该视图没有标签或标题。创建宽视图与通过管道将对象传递给 Format-Wide
cmdlet 非常相似。有关此视图的更多信息,请参阅宽视图。
自定义视图
显示对象属性或脚本值的可自定义视图,该视图不遵守表视图、列表视图或宽视图的严格结构。您可以定义独立的自定义视图,也可以定义由其他视图(例如表视图或列表视图)使用的自定义视图。创建自定义视图与通过管道将对象传递给 Format-Custom
cmdlet 非常相似。有关此视图的更多信息,请参阅自定义视图。
视图的组成部分
以下 XML 示例显示了视图的基本 XML 组件。各个 XML 元素根据您要创建的视图而有所不同,但视图的基本组件都是相同的。
首先,每个视图都有一个 Name
元素,用于指定用于引用该视图的用户友好名称。一个 ViewSelectedBy
元素定义视图显示哪些 .NET 对象,以及一个 control 元素定义视图。
<ViewDefinitions>
<View>
<Name>NameOfView</Name>
<ViewSelectedBy>...</ViewSelectedBy>
<TableControl>...</TableControl>
</View>
<View>
<Name>NameOfView</Name>
<ViewSelectedBy>...</ViewSelectedBy>
<ListControl>...</ListControl>
<View>
<View>
<Name>NameOfView</Name>
<ViewSelectedBy>...</ViewSelectedBy>
<WideControl>...</WideControl>
<View>
<View>
<Name>NameOfView</Name>
<ViewSelectedBy>...</ViewSelectedBy>
<CustomControl>...</CustomControl>
</View>
</ViewDefinitions>
在控制元素内,您可以定义一个或多个 entry 元素。如果使用多个定义,则必须指定哪些 .NET 对象使用每个定义。通常,每个控件只需要一个条目和一个定义。
<ListControl>
<ListEntries>
<ListEntry>
<EntrySelectedBy>...</EntrySelectedBy>
<ListItems>...</ListItems>
</ListEntry>
<ListEntry>
<EntrySelectedBy>...</EntrySelectedBy>
<ListItems>...</ListItems>
</ListEntry>
<ListEntry>
<EntrySelectedBy>...</EntrySelectedBy>
<ListItems>...</ListItems>
</ListEntry>
</ListEntries>
</ListControl>
在视图的每个条目元素中,您可以指定定义该视图显示的 .NET 属性或脚本的 item 元素。
<ListItems>
<ListItem>...</ListItem>
<ListItem>...</ListItem>
<ListItem>...</ListItem>
</ListItems>
如前面的示例所示,格式化文件可以包含多个视图,一个视图可以包含多个定义,每个定义可以包含多个项目。
表视图示例
以下示例显示用于定义包含两列的表视图的 XML 标记。 ViewDefinitions 元素是格式化文件中定义的所有视图的容器元素。 View 元素定义特定的表、列表、宽视图或自定义视图。在每个 View 元素中,Name 元素指定视图的名称,ViewSelectedBy 元素定义使用该视图的对象以及不同的控制元素(例如以下示例中显示的 TableControl
元素)定义视图的类型。
<ViewDefinitions>
<View>
<Name>Name of View</Name>
<ViewSelectedBy>
<TypeName>Object to display using this view</TypeName>
<TypeName>Object to display using this view</TypeName>
</ViewSelectedBy>
<TableControl>
<TableHeaders>
<TableColumnHeader>
<Width></Width>
</TableColumnHeader>
<TableColumnHeader>
<Width></Width>
</TableColumnHeader>
</TableHeaders>
<TableRowEntries>
<TableRowEntry>
<TableColumnItems>
<TableColumnItem>
<PropertyName>Header for column 1</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>Header for column 2</PropertyName>
</TableColumnItem>
</TableColumnItems>
</TableRowEntry>
</TableRowEntries>
</TableControl>
</View>
</ViewDefinitions>
参见
创建列表视图
创建表视图
创造广阔的视野
创建自定义控件
编写 PowerShell 格式和类型文件
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag