Foreach-Object与Where-Object在PowerShell 3.0中的改动
2012-04-29 15:44
429 查看
在PowerShell 3.0增加了许多新语句功能同时也简化了许多语法功能,这里最为明显也的就是Foreach-Object与Where-Object了。在V3中省略了“$_”与“{}”的作用,我们通过如下几个简短的小例子说明:
通常我们使用Where-Object或Where(别名)来筛选我们想要的数据都会通过管道传递过来的对象做筛选,如下命令,我们会用到“$_” 这个对象初始功能:
但是到了PowerShell 3.0中完全不需要这样做了,语句将变的更为简单:
在Foreach中也同样如此:
对于今后的PowerShell初学者而言,命令变的更为简单了,但对于从PowerShell 1.0一路走来的人来说不免有点不习惯,好在的是以往的使用方法依然兼容。
那么为什么要改变呢,我从一些公开文章中发现PowerShell Team是希望PowerShell Cmdlet更加接近所谓的command自然命令形态,而不是作为一种脚本语言的语法形态所存在。所以才有了现在这样的改变。
通常我们使用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自然命令形态,而不是作为一种脚本语言的语法形态所存在。所以才有了现在这样的改变。
相关文章推荐
- Windows Powershell Where-Object 条件过滤
- Powershell ForEach-Object 循环
- Windows Powershell ForEach-Object 循环
- PowerShell3.0入门视频(由Jeffrey Snover和Jason Helmick主讲)
- public static T CloneObject<T>(this T obj) where T:class{}
- PowerShell 3.0 实践(二)管理Hyper-V 3.0(1)
- Windows server 2012 新功能试用---- powershell 3.0 进程和服务的操作 推荐
- ASP 3.0高级编程(二十二)About FileSystemObject
- Mybatis的<where><foreach><set>等标签详解
- 循环while、foreach-object
- PowerShell 3.0的模块自动加载
- Windows脚本初探之PowerShell流程控制for和foreach
- SWIFT 函数参数 3.0 改动--Boolan
- Windows 8 中的 PowerShell 3.0
- Mybatis的<where><foreach><set>等标签详解
- SSM框架day02-MyBatis——036 动态SQL-where、037 动态SQL-choose、038 动态SQL-foreach数组、039 动态SQL-foreachList
- Mybatis的<where><foreach><set>等标签详解
- thinkphp3.0的display方法有所改动
- <Power Shell>05解决powershell3.0收集数据时候数组生成
- powershell_2.0和3.0_下载安装