【发布时间】:2018-10-11 13:54:30
【问题描述】:
我在今天早上编写的脚本中遇到了一个错误,我没有从我的 Select-String 表达式中获得输出。玩了一会儿后,我意识到这个表达式不会返回我在 v2.0 中匹配的值,但会在我最初编写它的 v4.0 中返回。
($log | Select-String "\[CIsoCreator\] Creating iso file" -AllMatches | Select-Object -ExpandProperty line -Last 1 | Select-String "([A-Z]\:)(.*\\)*.*\.iso").matches.value
在尝试了几件事后,我最终得到了这个结果,它确实按预期返回。
($log | Select-String "\[CIsoCreator\] Creating iso file" -AllMatches | Select-Object -ExpandProperty line -Last 1 | Select-String "([A-Z]\:)(.*\\)*.*\.iso").matches | select -expandproperty value
在我看来,v2.0 中有一些不同的规则来管理您何时可以直接引用属性,但我一直找不到提及这一点。
有没有人知道这在不同版本之间是如何工作的?
【问题讨论】:
-
查看关于成员枚举的博文New V3 Language Features。
标签: powershell powershell-2.0 powershell-4.0