Powershell实用命令(1)

  

Powershell已经成了windows运维人员不得不掌握的技能了,他的强大只有使用过了才能体会,闲话不多说,在这里记录一下Powershell的实用命令,帮助在Powershell中一起奋斗的童鞋们

  

将输出的结果转变成自己想要的对象类型,例如,我有一个小的数,但是我只想要他的整数位,这里我们可以用——操作符,在作为后面接你想转换的类型可以是int [], [string]等

  
 <代码> 1.23——(int)  
  

这条命令就是将这1.23个小数转换成整型值,所以最后我们得到的结果就是1,这个功能经常用于一些磁盘空间的或者数据方面的转换,需要注意的是,这个转换时使用的四舍五入的机制,就是说,如果小数值是大于等于0.5的会在整数位加1
当然我们不一样用操作符,更简单的方式就是直接在值或变量前面加类型例如(int) 1.23,这样输出的值也是一

  

取整这个还有几种方法,这里也介绍一下,有时候我们可能需要把小数位直接算成整数,或者小数位直接舍去,那么遇到这种情况我们可以通过[数学]::地板()和[数学]::天花板()来执行,例如:

  
 <代码> PS C:\Windows\ system32>一美元=2.33
  
  PS C:\Windows\ system32>[数学]::上限($)
  3.
  PS C:\Windows\ system32>(数学)::地板(美元)
  2  
  

通过上面的代码,我们可以看的到,天花板函数是向上取整,就是小数位统统往整数上加1,地板函数是向下取整,小数位统统忽略,甭管你是不是大于

0.5   

和前面提到的(int)直接转整数的,还有一种方式,就是[将]::Toint32(美元),也可以得到四舍五入的取整结果,当然Toint32的功能不仅仅是简单的转换小的数,他还可以用于转换2进制,10进制,16进制等等,例如

  
 <代码> PS C:\Windows\ system32>$ a=[将]::ToString (188 2)
  
  PS C:\Windows\ system32>(转换)::ToInt32(美元)
  10111100
  
  PS C:\Windows\ system32>(转换)::ToInt32(一个美元,2)
  188
  
  PS C:\Windows\ system32>(转换)::ToInt32(一个美元,8)
  2134592
  
  PS C:\Windows\ system32>(转换)::ToInt32(一个美元,16)
  269553920
  
  PS C:\Windows\ system32>(转换)::ToInt32(一个美元,10)
  10111100
   
  

首先我把188转成2进制形式赋值给一个变量(听清楚是形式,它实际上是一个字符串值,要确认可以直接用美元a.gettype()去看下他的类型),然后测试直接转成整型,接着转2进制,8进制,16进制和10进制,嗯,看起来没毛病,对吧,老铁。

  

好,我们接着下一个比较实用的命令,通过哈希表达式来转换输入的格式
我想平时写脚本导出资料的时候,你应该会遇到导出的结果的栏位名称你觉得不满意,想改成自己想要的名字,甭管为啥,就是想改,有句话怎么说来着,我就是喜欢你看我不惯又拿我没辙的样子,就是这么任性。
好的,小的情况下,哈希表达式帮您忙,举个简单的例子,我想把输入的栏位英文改成我要的中文,看代码:

  
 <代码> PS C:\Windows\ system32>这3 Get-Process |选择名称
  
  的名字
  ----
  AcroRd32
  AcroRd32
  ApplicationFrameHost  
  

我们用get-process抓3条进程名字,可以发现名字栏位是名字,作为一个爱国的五好青年,我得把这改个名字成中文,看我代码大法

  
 <代码> PS C:\Windows\ system32>Get-Process |选择@ {name='名称”;表达={$ _。名称}}这3
  
  名称
  --
  AcroRd32
  AcroRd32
  ApplicationFrameHost  
  

看见没,名字没有了,我中华汉字取而代之,名字和表达式可以缩写成n和e @ {n='想要的名称”;e={可以是一个代码输出的值,也可以是值}}

  

延伸一下,我们知道平时我们使用英尺或者fl这样的输出格式命令的时候是没有指定输出值的对齐功能的,Powershell会默认去对齐,但是这样会发现有的是左对齐,有的是右对齐,还能不能好好玩耍了,非要整2个对齐方式干嘛,我只需要一种对齐方式,我们可以通过哈希表达式来解决,只需要在表达式中加入对齐=白蟆被蛘摺罢返摹?就可以让数据左对齐,或者右对齐了,例如@ {n=的名称”;e={$ _.name};对齐=蟆瘆

  

今天就说到这了,要想了解更多,且听下回分解,散会!

Powershell实用命令(1)