PowerShell中常用的一些特殊运算符介绍

时间:2022-09-22 20:53:32

&,调用运算符。

语法:& <可执行文件路径> [<参数列表>]
举例:

复制代码 代码如下:
$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"