Foreach-Object与Where-Object在PowerShell 3.0中的改动

在PowerShell 3.0增加了许多新语句功能同时也简化了许多语法功能,这里最为明显也的就是Foreach-Object与Where-Object了。在V3中省略了“$_”与“{}”的作用,我们通过如下几个简短的小例子说明:

 通常我们使用Where-Object或Where(别名)来筛选我们想要的数据都会通过管道传递过来的对象做筛选,如下命令,我们会用到“$_” 这个对象初始功能:

Get-Process|Where-Object{$_.name -like "notepad"}

 

但是到了PowerShell 3.0中完全不需要这样做了,语句将变的更为简单:

Get-Process|Where name -like "notepad"

 

 在Foreach中也同样如此:

"Hello", "World" | ForEach-Object PadRight  10 "-"


 对于今后的PowerShell初学者而言,命令变的更为简单了,但对于从PowerShell 1.0一路走来的人来说不免有点不习惯,好在的是以往的使用方法依然兼容。

 那么为什么要改变呢,我从一些公开文章中发现PowerShell Team是希望PowerShell Cmdlet更加接近所谓的command自然命令形态,而不是作为一种脚本语言的语法形态所存在。所以才有了现在这样的改变。
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值