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


&,调用运算符。

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

$execPath="D:Progra~1FlashFXPflashfxp.exe"

$execArgs="-upload ftp://u:p@ip:21 "

$execArgs=$execArgs+"-remotepath=`"/`" "

$execArgs=$execArgs+"-localpath=`"d:123`" "

& $execPath $execArgs.Split()

这个是之前我们调用flashfxp来上传文件的例子,就是使用&调用符。

点(.),多功能的运算符。

1、调用外部的PS1脚本文件

. D:PowerShelltest.ps1

2、成员运算符

$对象.属性;或$对象.方法()

3、路径运算符
一个点(.)表示当前目录,两个点(..)表示上级目录。
如:.test.ps1,..PowerShelltest.ps1,这两个表达相对于D:PowerShelltest.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"

PowerShell中的TimeSpan时间差对象使用实例
TimeSpan对象表示一个时间差,比如今天的10点10分,和明天的12点12分,就差1天2小时2分。这个1天2小时2分就是一个TimeSpan。这个东西有什么用呢?小编之

PowerShell生成随机密码的方法
有的时候,小编需要一个随便密码。写asp的时候,用asp生成,写c#的时候用c#生成。PowerShell中可以使用c#,所以,可以把c#中生成随机密码方法套用给Power

PowerShell统计文件夹下文件个数的方法
计算一个文件夹下面的文件个数是一件很容易的事情,但看到这篇文章之前,还从来没有想过计算一下文件个数还有这么多学问在里头。我们这里有两