Powershell实用命令(1)
Powershell已经成了windows运维人员不得不掌握的技能了,他的强大只有使用过了才能体会,闲话不多说,在这里记录一下Powershell的实用命令,帮助在Powershell中一起奋斗的童鞋们
将输出的结果转变成自己想要的对象类型,例如,我有一个小数,但是我只想要他的整数位,这里我们可以用-as操作符,在as后面接你想转换的类型可以是[int],[string]等 1.23 -as [int] 这条命令就是将1.23这个小数转换成整型值,所以最后我们得到的结果就是1,这个功能经常用于一些磁盘空间的或者数据方面的转换,需要注意的是,这个转换时使用的四舍五入的机制,就是说,如果小数值是大于等于0.5的会在整数位加1 取整这个还有几种方法,这里也介绍一下,有时候我们可能需要把小数位直接算成整数,或者小数位直接舍去,那么遇到这种情况我们可以通过[math]::Floor()和[math]::Ceiling()来执行,例如: PS C:Windowssystem32> $a=2.33 PS C:Windowssystem32> [math]::Ceiling($a) 3 PS C:Windowssystem32> [math]::Floor($a) 2 通过上面的代码,我们可以看到,ceiling函数是向上取整,就是小数位统统往整数上加1,floor函数是向下取整,小数位统统忽略,甭管你是不是大于0.5 和前面提到的[int]直接转整数的,还有一种方式,就是[convert]::Toint32($a),也可以得到四舍五入的取整结果,当然Toint32的功能不仅仅是简单的转换小数,他还可以用于转换2进制,10进制,16进制等等,例如 PS C:Windowssystem32> $a = [convert]::ToString(188,2) PS C:Windowssystem32> [convert]::ToInt32($a) 10111100 PS C:Windowssystem32> [convert]::ToInt32($a,2) 188 PS C:Windowssystem32> [convert]::ToInt32($a,8) 2134592 PS C:Windowssystem32> [convert]::ToInt32($a,16) 269553920 PS C:Windowssystem32> [convert]::ToInt32($a,10) 10111100 首先我把188转成2进制形式赋值给a变量(听清楚是形式,它实际上是一个字符串值,要确认可以直接用$a.gettype()去看下他的类型),然后测试直接转成整型,接着转2进制,8进制,16进制和10进制,嗯,看起来没毛病,对吧,老铁。 好,我们接着下一个比较实用的命令,通过哈希表达式来转换输入的格式 PS C:Windowssystem32> Get-Process | select name -First 3 Name ---- AcroRd32 AcroRd32 ApplicationFrameHost 我们用get-process抓3条进程名字,可以发现名字栏位是Name,作为一个爱国的五好青年,我得把这个Name改成中文,看我代码大法 PS C:Windowssystem32> Get-Process | select @{name=‘名称‘;expression={$_.Name}} -First 3 名称 -- AcroRd32 AcroRd32 ApplicationFrameHost 看见没,Name没有了,我中华汉字取而代之,name和expression可以缩写成n和e @{n=‘想要的名称‘;e={可以是一个代码输出的值,也可以是值}} 延伸一下,我们知道平时我们使用ft或者fl这样的输出格式命令的时候是没有指定输出值的对齐功能的,Powershell会默认去对齐,但是这样会发现有的是左对齐,有的是右对齐,还能不能好好玩耍了,非要整2个对齐方式干嘛,我只需要一种对齐方式,我们可以通过哈希表达式来解决,只需要在表达式中加入align=‘left‘或者‘right‘,就可以让数据左对齐,或者右对齐了,例如@{n=‘名称‘;e={$_.name};align=‘left‘} 今天就说到这了,要想了解更多,且听下回分解,散会! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |