忘记密码   免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
查看: 559 | 回复: 0

[学习共享] powershell学习:在命令行中输出,各种款式,带颜色的表(format-table) [复制链接]

论坛徽章:
0
发表于 2017-11-01 10:55 |显示全部楼层
本帖最后由 本友会机友会摄友会 于 2017-11-01 12:56 编辑


format-table是powershell官方自带的一个命令,支持win,linux。
它可以在命令行输出表格,可以设定宽度,对齐。
你可以在win中,用下列命令测试效果:
get-process |format-table
官方版是不支持颜色输出的。



今天分享的是:
第三方的,增强format-table。
这个增强的特色是【带颜色】
支持winxp+powershell 2.0
支持linux中的powershell。



适用场景:
根据正则(或代码语句)过滤出,合法的某列字符串,
根据数值大小过滤出,合法的某列数字的数值,
并用颜色显示相关行,列,字段。




1去这里下载:
https://gallery.technet.microsoft.com/scriptcenter/Format-Table-Colors-in-e0a4beac

得到【Write-PSObject.ps1】,win中,点右键---》属性,去掉锁定。


2使用前,导入它。
2.1  在win中,打开powershell。在linux中,打pwsh,运行powershell。
2.2  import-module  /你的路径/Write-PSObject.ps1


3 例子1:
(最简单的,获取本机进程信息,并隔行颜色输出)

  1. Get-Process | Write-PSObject -FormatTableColor -OddRowForeColor Cyan -EvenRowForeColor Yellow
复制代码



4例子2:
(第1,2行代码,构造一些数据。第3行代码,使用此函数,在命令行输出,带颜色的表。)
  1. $xml = [XML] "<Servers><Server SN='01' Server='SPWFE01' IP='192.168.0.10' Manufacture='HP' MemoryMB='32768' FreeMemoryMB= '10240' CPUCores='8' HyperThreading='False' Virtualization='Disabled' HyperVSupport='True' /><Server SN='02' Server='SPWFE02' IP='192.168.1.3' Manufacture='Dell' MemoryMB='32768' FreeMemoryMB= '30720' CPUCores='8' HyperThreading='True' Virtualization='Disabled' HyperVSupport='True' /><Server SN='03' Server='SPWFE03' IP='192.168.0.22' Manufacture='HP' MemoryMB='32768' FreeMemoryMB= '510' CPUCores='8' HyperThreading='True' Virtualization='Disabled' HyperVSupport='False' /><Server SN='04' Server='SQLPR01' IP='192.168.1.5' Manufacture='HP' MemoryMB='65536' FreeMemoryMB= '5120' CPUCores='16' HyperThreading='True' Virtualization='Enabled' HyperVSupport='True' /><Server SN='05' Server='SQLMI01' IP='192.168.1.6' Manufacture='Dell' MemoryMB='65536' FreeMemoryMB= '6420' CPUCores='16' HyperThreading='False' Virtualization='Enabled' HyperVSupport='True' /></Servers>";


  2. $servers = [PSObject[]] $xml.Servers.Server  | Select SN, Server, IP, Manufacture, MemoryMB, FreeMemoryMB, CPUCores, HyperThreading, Virtualization, HyperVSupport;


  3. Write-PSObject $servers -FormatTableColor -OddRowForeColor Cyan -EvenRowForeColor Yellow;
复制代码




5 图片:
暂时不能上传,可以去下载地址观看。

原创文章 2017-10-30

6 更多例子和手册:
https://gallery.technet.microsoft.com/scriptcenter/Format-Table-Colors-in-e0a4beac

我在为什么要学powershell中说过,linux表格(很容易)有对齐问题。而powershell是没有的。

【完】

您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:wangnan@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP