2013-10-26 22 views
0

我一直在网上寻找一个特定的答案,以更好地帮助我理解这是如何工作的。在PHP中,我们使用“。”来连接字符串。然而,在PowerShell中我看到这样的事情:PowerShell“Period”运算符,它有什么作用?

Dir | where {$_.extension -eq ".txt"} | 
    Rename-Item –NewName { $_.name –replace “.“,”-” } 

我可以看到“目录”命令是通过管道输送到“去哪儿”,但我不明白它的定义为用变量:

$_.extension 

这是一种向函数中添加额外运算符的方法吗?我很困惑。我越来越好,但是,我需要知道期限和$ _。在使用cmdlet时工作,而不是。

任何帮助表示赞赏。

+0

的 “”呼叫操作员将发送和接收来自其他脚本的变量,您称为 –

回答

2

这是会员访问运营商。 $_是一个特殊的变量(在这种情况下是循环变量)。因此,$_.extension访问或调用$_上的属性extension

+0

谢谢您,我没有找到关于会员接入的很多信息,但它指出我的方向正确=) – cloudnyn3

0

DIR命令类似于Get-ChildItem命令。 |类似于foreach声明。 $_符号表示foreach循环中的每个元素。在你的情况下,代码应该得到所有从某个位置有.txt扩展,然后重新命名每个这些元素由于{ $_.name –replace “.“,”-” }规则

+3

其实'dir'命令***是* ** Get-ChildItem命令。通过执行'Get-Alias -Name dir'来查看你的自我。 –

5

Powershell有非常好的帮助文件,可以回答很多问题。

参见:

get-help about_operators 

,你会发现点被同时用作属性对其操作和范围操作,使用各的解释。

也可以看到这下about_operators on TechNet

+0

非常感谢你的回复,这很有帮助。 – cloudnyn3