从零开始学PowerShell(5) 自定义格式化信息

PowerShell实现Windows右下角Toast通知:零依赖自动化脚本指南 在Windows自动化与系统管理中,桌面通知是提升脚本交互体验的关键技术。其原理是通过调用系统原生组件(如.NET Framework的Windows Forms)创建图形化界面元素,实现非侵入式的信息提示。这项技术的核心价值在于将后台脚本的执行状态可视化,无需依赖第三方软件即可完成轻量级通知。在应用场景上,它特别适合系统管理员进行任务完成提醒、开发者监控构建状态,以及自动化流程中的关键节点反馈。本文聚焦于利用PowerShell脚本实现右下角Toast通知,详细解析了从基础脚本编写到集成到批量任务与自动化 阅读详情

我们已经基本了解了大部分在PowerShell中的格式化输出命令的使用,但是我们之前做的内容的格式化也仅仅是针对现有输出的内容做一些排版格式的输出,在某些场景需求下,这样的排版还是显得过于单调。所以今天要讲一下如何自定义格式化信息。这是个很有趣的话题,所以单独放在了一篇文章里讲。

PowerShell输出的信息内容其实默认是经过排版的,基本以表单的形式,像下面这样。
这里写图片描述
为了更好的说明自定义格式化信息的用意,我来假设一个场景需求。我需要罗列出Id值大于2000的进程信息,但一定要输出的信息给别人一看就明白,该怎么做呢?我们都知道,表单能让人一眼就看明白主要取决于行列标题,一个清晰明确的行标题名称能给阅读者一目了然的作用,所以我们就要从行列标题下手。

老样子,先放出实现的代码行如下。

Get-Process | Where-Object{$_.Id -gt 2000} | Format-Table ProcessName, @{Expression={$_.Id}; Name="Id>2000"}

我们从输出的信息结果就可以看到,ID那一栏的行标题被我修改为了了Id>2000我可以把这个输出传递给任何需要这个场景的人,他们一看就知道这一列的信息罗列的是Id值大于2000的进程信息。
这里写图片描述
现在让我们来分析下这个命令行到底做了什么,整个命令行的逻辑是一开始我们用Get-Process | Where-Object{$_.Id -gt 2000}完成最基本的条件过滤,过滤出所有Id值大于2000的进程信息。

接下去是关键,我们使用了一个小技巧来自定义格式化我们的输出内容,我们使用了Format-Table ProcessName, @{Expression={$_.Id}; Name="Id>2000"},如果不用自定义的方式我们将会这样写Format-Table ProcessName, Id,这样你可以看出区别了吧。我把Id那一列写成了@{Expression={$_.Id}; Name="Id>2000"}这一行其实是一个哈希表表达式,格式的语法基本是@{Expression={你想修改的属性列};Name="属性列更改后的名称"}。

既然使用的是哈希表的方式来自定义格式化输出,我们就可以直接以自定义哈希表的方式来灵活自定义格式化输出。在PowerShell中定义哈希表的写法是@{},所以我们可以换成如下的方式去赋值。(其实这种方式在PowerShell中也有个专门的技巧说法那就是Splatting,大家如果对Splatting感兴趣可以查看我之前写的使用Splatting方传递参数来更好的了解用法。)

# 将自定义的哈希表表达式赋值给变量CustomColumn
$CustomColumn = @{Expression="Id"; Name="Id>2000"}
# 直接调用变量即可
Get-Process | Where-Object{$_.Id -gt 200} | Format-Table ProcessName, $CustomColumn

除了修改行标题名称以外,还可以对属性值做很多自定义计算操作等等,比如我把Id属性值以整数带后两位整零的格式(如:*.00)输出。

Get-Process | Format-Table Name, @{Expression={$_.Id}; Name="Custom_Id"; FormatString="N2"}

这里我增加了一个哈希键值FormatString="N2" 这个主要是告诉PowerShell这一列定义输出的内容都以整数格式输出并且保留后两位整零格式。你可以看到下面所有我们自定义的Custom_Id列都类似*.00格式输出了。
这里写图片描述
当然哈希表自定义格式化不仅仅只是在Format类型的命令格式化输出中使用哦,也可以用于Select-Object、Sort-Object等命令里,它可灵活了,你用多了就会慢慢喜欢上这个技巧了。

Windows桌面自动化实战:Python+PowerShell+开源AI三步落地 GUI自动化是解决Windows用户高频重复操作的核心技术路径,其本质是将鼠标键盘行为转化为可复用、可编辑的结构化指令流。原理上依赖UI Automation API实现控件语义识别,规避传统坐标定位在DPI缩放与多屏环境下的失效问题;技术价值在于降低使用门槛——无需编程基础即可通过YAML配置或自然语言触发流程;典型应用场景覆盖行政日报提交、IT批量部署、财务数据导出等办公刚需;本文聚焦Python作为跨平台调度引擎、PowerShell深度集成Windows系统API、开源轻量模型(如Phi-3-min 阅读详情

相关推荐

Windows开发者Vibe Coding入门:PowerShell+ripgrep+Python环境搭建指南

Vibe Coding是一种面向开发者心流体验的高效工作流范式,核心在于降低人机交互摩擦、保障思维连续性。其技术基础植根于现代Shell能力(如PowerShell的对象管道)、极速文本搜索(ripgrep的Rust原生性能与智能编码识别)和轻量可编程胶水语言(Python的纯净安装与PATH一致性)。这种组合显著提升本地开发响应速度与调试确定性,广泛应用于自动化脚本编写、VS Code扩展协同(如Todo Tree)、日志分析及办公数据处理等场景。本文聚焦Windows平台,系统解决PowerShell执

weixin_30487201的博客 366

PowerShell 格式化

因为PowerShell并不是完全成熟的用于生成管理报表的工具,但是它能够很好的收集计算机的信息,并以定制的格式输出,用于输出定制的方式称为格式化。 默认格式 现在我们运行一个熟悉的cmdlet: get-process, 然后注意结果的列头部分。可以看到他并不是非常符合常规的属性名。取而代之的是一个固定的宽度、别名等。 其实这些格式都是来自于配置文件,我们可以在安装PowerShell的路...

weixin_42545594的博客 1062

【Win】活用 PowerShell 与 Get-CimInstance:一键生成系统硬件健康报告

本文详细介绍了如何利用PowerShell的Get-CimInstance命令一键生成系统硬件健康报告,涵盖BIOS、CPU、内存、磁盘等关键硬件信息的获取与分析。通过模块化脚本设计和HTML报告生成,帮助IT运维人员快速定位硬件问题,提升工作效率。特别适合Windows系统管理员和硬件维护人员使用。

weixin_30650039的博客 227

PowerShell常用命令及使用方法

PowerShell 依托.NET Framework平台可以实现非常强大的功能,而且普适性强,Win7及以上系统自带,隐蔽性好,可以直接在内存中运行,能够绕过部分杀软,现将平日操作及内网渗透过程中常用命令及使用方法总结如下。...

Captain_RB的博客 5万+

VSCode中C语言格式化配置指南:Clang-Format实战详解

代码格式化是软件开发中的基础实践,它通过统一代码风格来提升可读性和维护性。其核心原理是借助静态分析工具解析代码结构,再按预设规则重新排版。在C/C++生态中,Clang-Format凭借其与LLVM编译器的深度集成,成为格式化工具的权威选择。它通过.clang-format配置文件支持高度定制,能精准控制缩进、括号位置、指针对齐等细节。这一技术价值在于将开发者从繁琐的手动调整中解放,确保团队协作的代码一致性,尤其适用于大型项目维护和跨团队协作。本文聚焦于在VSCode编辑器中配置Clang-Format的完

weixin_30755393的博客 524

GoLand配置Protobuf自动格式化:clang-format与File Watcher实战指南

在微服务与gRPC开发中,Protocol Buffers作为接口契约与数据定义的核心,其代码格式的规范性直接影响团队协作效率与自动化工具链的稳定性。代码格式化工具通过预定义规则自动调整代码缩进、空格、换行等样式,确保代码风格统一。其技术价值在于将规范固化为开发环境的本能行为,减少无意义的代码差异,提升代码审查效率,并避免因格式问题引发的生成错误。在实际应用场景中,开发者常借助IDE的File Watcher功能,在文件保存时自动触发格式化工具,实现“保存即整理”的流畅体验。本文以GoLand为例,详细演示

weixin_30411819的博客 419

Powershell格式化输出

使用Format命令格式化powershell输出,常用的命令如下: Format-Wide:每个对象仅有一个属性值被显示。默认情况下输出默认属性,也可以通过指定-Property参数来输出其他属性 例如: Get-Process -Name powershell|Format-Wide Get-Process -Name powershell| Format-wide...

a2218641的博客 1336

C++顺序结构编程实战:从计算圆面积到信息学奥赛基础

顺序结构是程序设计的基础,它规定了代码按照线性顺序依次执行的核心原理。在C++编程中,理解变量定义、数据类型选择、运算符使用以及输入输出控制,是构建健壮程序的关键技术价值。通过解决“计算圆的面积和周长”这类经典问题,可以深入掌握如何将零散语法知识组装成完整程序,并应用于信息学奥赛(CSP-J/S)等实际场景。本文以**格式化输出**和**程序健壮性**为例,详细拆解了从环境准备、代码实现到调试测试的全流程,帮助初学者夯实基础,培养工程化思维。

weixin_34232744的博客 642

PowerShell入门:掌握基本的输入输出命令

本文将深入探讨PowerShell中的基本输入输出命令,以及如何使用这些命令来简化日常任务。

常备不懈 2762

AD9361 FIR 滤波器设计

matlab 得到滤波器系数

weixin_44630490的博客 1万+

告别GUI点点点:Formality形式化验证的TCL脚本自动化实战(附完整脚本)

本文详细介绍了如何通过TCL脚本实现Formality形式化验证的全流程自动化,显著提升验证效率并降低错误率。内容涵盖脚本框架解析、参数化设计、验证报告生成及团队协作策略,特别适合芯片设计工程师摆脱传统GUI操作,实现300%以上的效率提升。

weixin_33737134的博客 282

[原创][PowerShell教程][06]PowerShell中格式化命令和输出命令

好久不见, 我又食言了, 一直没有更新教程, 我也不想找借口, 因为我花了很多时间跑去玩大蛇无双和魔王再临. 今天, 我将为您介绍如何使用格式化和输出命令. 在PowerShell中,负责进行格式化和输出的是三类cmdlet。他们分别是:Format-*、Out-*和 Write-* 。顾名思义,Format-* 主要是用来对信息进行格式化操作,Out-*用于指定输出设备,而 Write-

Windows PowerShell 4889

AHRS互补滤波(Mahony)算法及开源代码

AHRS(Attitude and heading ref AHRS(Attitude and heading reference system,也就是航姿参考系统。在互补滤波算法中传感器主要采用了IMU(陀螺仪、加速度计)和磁力计。 AHRS的基本思想是,在载体没有平移运动的情况下,通过加速度感知重力分量,可以计算出载体的俯仰(Pitch)和横滚(Pitch);磁力计可以感知磁北方向,因此可以计算载体的磁北航向;而陀螺仪测量输出载体的旋转角速度,通过积分可以计算得到横滚、俯仰、航向增量,但由于陀螺输出值含

weixin_42918498的博客 3万+

从零开始学PowerShell(5)自定义格式化信息

我们已经基本了解了大部分在PowerShell中的格式化输出命令的使用,但是我们之前做的内容的格式化也仅仅是针对现有输出的内容做一些排版格式的输出,在某些场景需求下,这样的排版还是显得过于单调。所以今天要讲一下如何自定义格式化信息。这是个很有趣的话题,所以单独放在了一篇文章里讲。 PowerShell输出的信息内容其实默认是经过排版的,基本以表单的形式,像下面这样。 为了更好的说明自定义格式化信息的用意,我来假设一个场景需求。我需要罗列出Id值大于2000的进程信息,但一定要输出的信息给别人一看就明

墨痕诉清风的博客 797

线性代数笔记【空间曲面】

二次曲面 曲面可以看成是一个动点或一条动曲线按照一定条件或规律运动产生的轨迹 曲面的方程即是该动点的坐标所满足的方程 空间解析几何中,一般会涉及到由曲面写方程和由方程看曲面两种类型问题 曲面与曲面方程 球面方程 球面:空间内与定点的距离等于定长的点的集合 这一定点叫球心,定长叫半径 标准方程 (x−x0)2+(y−y0)2+(z−z0)2=r2(x-x_0)^2+(y-y_0)^2+(z-z_0)^2=r^2(x−x0​)2+(y−y0​)2+(z−z0​)2=r2 球心P0(x0,y0,z0)P_0(

qq_40500005的博客 3246

Rust嵌入式开发环境搭建指南(基于Stm32+Vscode)

本文档旨在指导开发者如何搭建基于Rust语言的STM32嵌入式开发环境。相比传统的C/C++开发方式,Rust提供了更强的内存安全保障和现代化的语言特性,非常适合嵌入式系统开发。本指南将详细介绍从环境搭建到项目配置的全过程,特别关注VSCode作为IDE的配置以及STLink和DAPLink调试器的使用。

u014627020的博客 2601

PowerShell脚本:快速入门

batch脚本在面对xml读写、字符串处理等需求时常常捉襟见肘,无法满足我们的需求,因此掌握powershell显得非常必要。 0. 基本指令 0.1 获取帮助 这里有三个命令可以帮助你了解命令作用及其用法。 get-command:列出所有可用命令 get-help command [-full]:获取指定命令帮助信息,加full获取详细帮助 command -?:获取指定命令的简要介绍,相当于get-help command 注意: powershell与batch一样不区分大小写 变量采用小驼

csfchh的博客 1万+

R语言绘制森林图

运行上述代码后,将会生成一个标题为"森林图示例"的森林图。通过以上代码示例,你可以根据自己的数据集和需求创建定制的森林图。在实际应用中,你还可以进一步调整图形的样式,添加图例、坐标轴标签等,以使森林图更加美观和易于理解。在数据可视化领域,森林图是一种常用的图形类型,用于展示多个分类变量之间的关系。本文将介绍如何使用R语言创建森林图,并提供相应的源代码示例。森林图通常由垂直的线段表示不同类别的观测值,并且线段的长度表示数值变量的大小。上述代码中,我们为不同的类别分别指定了蓝色和红色作为颜色映射关系。

TechNovaX的博客 1045

powershell文章汇总

3分钟带你了解PowerShell发展历程 从零开始——PowerShell应用入门(全例子入门讲解) Powershell变量的类型和强类型 – PowerShell 中文博客 Powershell变量的作用域 – PowerShell 中文博客 PowerShell单行注释、多行注释、块注释的方法_PowerShell_脚本之家 Powershell访问数组 – PowerShell...

冰封的落叶的博客 311

Python 爬虫实战:全球咖啡期货市场数据采集与分析全攻略

通过本项目,我们实现了对全球咖啡期货市场数据的采集、处理和可视化,为市场分析和决策支持提供了数据基础。未来,可以进一步结合机器学习和深度学习技术,对咖啡期货价格进行预测和建模,提高市场分析的准确性和效率。

2201_76125261的博客 394

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

【零基础逆袭】:从不会写命令到精通PowerShell脚本的6个进阶阶段

掌握MCP认证必备技能,从零开始系统学习PowerShell脚本编写。涵盖自动化运维、批量管理、系统监控等实际应用场景,通过6个进阶阶段逐步精通核心语法、函数设计与错误处理。方法清晰,实战性强,助你快速提升效率,值得收藏。

InstrGap的博客 1002

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

PowerShell JSON操作指南:从基础读写到批量配置实战

JSON作为一种轻量级的数据交换格式,在配置管理、API通信和数据持久化等场景中广泛应用。其核心原理是基于文本的键值对和嵌套结构表示,易于人类阅读和机器解析。在Windows生态中,PowerShell通过内置的ConvertFrom-Json和ConvertTo-Json Cmdlet,提供了零依赖的原生JSON处理能力,极大简化了系统管理和自动化任务中的数据操作。这些Cmdlet将JSON无缝映射为PowerShell自定义对象,支持通过点语法和管道进行直观的查询与修改,特别适合处理服务器配置、应用设置

383

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

第26章学习笔记|如何“吃透”别人写的 PowerShell 脚本(以 IIS 与登录日志为例)

PowerShell 脚本解析与优化指南 本文介绍了快速理解、安全执行和改进 PowerShell 脚本的方法,重点关注 IIS 管理和事件日志查询场景。 核心方法: 参数检查:先查看脚本参数入口 调用图分析:理清函数调用关系 变量溯源:明确关键变量来源 沙箱测试:在隔离环境中验证 IIS 站点管理脚本优化: 添加参数验证和幂等性处理 统一变量命名并加强错误处理 增加管理员权限检查 实现 WhatIf 保护机制 事件日志查询改进: 使用 Get-WinEvent 替代老旧命令 采用 XML 解析提升可靠性

分享 Windows 系统部署、镜像封装、终端管理、故障排查与运维自动化实践,涵盖 Sysinternals、PowerShell 和 AI 工具应用。以真实案例梳理排查思路与解决步骤,让运维经验清晰、可复用。 2万+

Python变量与格式化字符串:从命名到f-string一次讲透

编程语言的入门往往从数据存储与输出开始,而变量和格式化字符串正是这两个环节的基础。变量本质上是对象的引用标签,而非简单的内存盒子,理解这一点有助于避免后续操作可变对象时误改数据。格式化字符串则承担着把变量组织成可读文本的任务,从传统的%占位符到str.format(),再到更简洁的f-string,演化历程体现了对可读性和效率的追求。f-string允许在花括号内直接嵌入表达式,支持运算、精度控制与对齐,特别适合日志输出、数据表格展示等工程场景。无论后续学习爬虫、数据分析还是Web开发,都离不开对变量命名规

weixin_34212762的博客 295

Windows上部署GitLab Runner:PowerShell与config.toml生产级实践

GitLab Runner 是 GitLab CI/CD 的核心执行器,其在 Windows 平台的运行机制与 Linux 截然不同——它依赖原生 PowerShell 执行环境、严格遵循 TOML 配置规范,并深度耦合 Windows 安全模型(如 UAC、ExecutionPolicy、NTFS 权限)。理解 shell executor 的工作原理、config.toml 的 UTF-8 无 BOM 编码要求及 PowerShell 执行策略的精准配置,是实现稳定构建的关键。该方案广泛应用于 .NET

weixin_33841722的博客 222
上一篇: 从零开始学PowerShell(4) 数据的选择、排序与格式化
下一篇: 从零开始学PowerShell(6) 获取对象信息
itanders
博客等级 码龄19年 178粉丝 177原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值