PowerShell中常用的一些特殊运算符介绍
程序员文章站
2022-05-08 09:45:36
&,调用运算符。
语法:& <可执行文件路径> [<参数列表>]
举例:
复制代码 代码如下:$execpath="d:\progra~1\f...
&,调用运算符。
语法:& <可执行文件路径> [<参数列表>]
举例:
复制代码 代码如下:
$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()
$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;
}
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)
#返回值1000
$($i*5);
#返回一个逻辑磁盘的对象数组
$(get-wmiobject win32_logicaldisk)
@(),数组子表达式运算符。
通过数组返回一条或多条语句的结果。如果只有一项,则数组只有一个成员。如:
复制代码 代码如下:
@(get-wmiobject win32_logicaldisk)
逗号(,)数组元素运算符。
此运算符用作二元运算符时,逗号用于创建数组,列出数组的各个元素。如:
复制代码 代码如下:
$array = "a","b","c","d"
用作一元运算符时,逗号用于创建只含一个成员的数组。如:
复制代码 代码如下:
$singlearray = ,"a"
推荐阅读