PowerShell中常用的一些特殊运算符介绍
&,调用运算符。
语法:& <可执行文件路径> [<参数列表>]
举例:
$execPath="D:\Progra~1\FlashFXP\flashfxp.exe"
$execArgs="-upload ftp://u:p@ip:21 "
$execArgs=$execArgs+"-remotepath=`"/`" "
$execArgs=$execArgs+"-localpath=`"d:\123\`" "
& $execPath $execArgs.Split()
这个是之前我们调用flashfxp来上传文件的例子,就是使用&调用符。
点(.),多功能的运算符。
1、调用外部的PS1脚本文件
. D:\PowerShell\test.ps1
2、成员运算符
$对象.属性;或$对象.方法()
3、路径运算符
一个点(.)表示当前目录,两个点(..)表示上级目录。
如:.\test.ps1,..\PowerShell\test.ps1,这两个表达相对于D:\PowerShell\test.ps1来说,都是指的自己。
两点(..),范围运算符。
这个和上面表示上级目录的两点是完全一样的,只是使用的地方不一样。
“1..5”表示1到5,“5..1”表示5到1。
我们在编程时,使用foreach时可能会乃到类似的用法:
foreach($i in 1..5){
Write-Host $i;
}
双冒号(::),静态成员运算符。
在PowerShell编程时,经常要用到.NET中的类及其属性和方法。比如Thread.Sleep()方法,要在PowerShell中调用则使用如下的方式来调用。
[System.Threading.Thread]::Sleep(10000);
(-f),格式化运算符。
语法:格式化字符串 -f 值1,值2,...
举例:"{0} {1:N} {2,-10}" -f 10000,[math]::pi,"good"
$(),子表达式运算符。
计算括号内的表达式的值,有点像eval()函数。如果值是一个结果就返回标量。如果值是多个,则返回一个数组。
举例:
$i = 200;
#返回值1000
$($i*5);
#返回一个逻辑磁盘的对象数组
$(Get-WMIObject win32_LogicalDisk)
@(),数组子表达式运算符。
通过数组返回一条或多条语句的结果。如果只有一项,则数组只有一个成员。如:
@(Get-WMIObject win32_LogicalDisk)
逗号(,)数组元素运算符。
此运算符用作二元运算符时,逗号用于创建数组,列出数组的各个元素。如:
$array = "a","b","c","d"
用作一元运算符时,逗号用于创建只含一个成员的数组。如:
$singleArray = ,"a"