比如:
$reg = [regex]”\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}”
$a = get-content a.txt
$ms = $reg.matches($a)
$ms.count
$ms|get-member 里却没有count的属性。。请老师详细解释下。
1 Answers
Best Answer
这个是 PowerShell 3.0 引入的语法糖,任何变量即使是Null也支持访问Count属性。
PS> $null.count 0
不是啊,服务器2008R2上带的powershell1.0,,count属性只是举的一个例子。
兄弟,在我的生命中就没有见过PowerShell 1.0,你到是见鬼了。你肯定被C:\Windows\System32\WindowsPowerShell\v1.0这个目录给忽悠了。你的PowerShell至少是3.0,请使用$PSVersionTable 查看,另外你可以在PowerShell 中 运行PowerShell -version 2.0 ,启动2.0控制台,然后再测试你的脚本,你会发现确实没有count属性,刚好印证了我的观点。
老师,你好。用$PSVersionTable 查看,显示是2.0;运行PowerShell -version 2.0,然后再测试上面的脚本,还是有count属性。。输入“$ms.” 再按Tab,可以看到有如count,isReadOnly等,用get-member都看不到
老师,你好。用$PSVersionTable 查看,显示是2.0;运行PowerShell -version 2.0,然后再测试上面的脚本,还是有count属性。。输入“$ms.” 再按Tab,可以看到有如count,isReadOnly等,用get-member都看不到