PowerShell中常用的一些特殊运算符介绍_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"

时间: 2024-10-02 19:12:40

PowerShell中常用的一些特殊运算符介绍_PowerShell的相关文章

PowerShell中文件对象的属性方法总结_PowerShell

本文介绍一个PowerShell中文件对象有哪些属性,知道了这些属性对于我们更好的对文件进行操作是非常重要的. PowerShell是一个面向对象的脚本语言,在PowerShell中,所有的都是对象,文件也是对象.既然是对象,那肯定有属性.PowerShell中的文件对象,其实就是.NET中的System.IO.FileInfo类的实例.我们要查看完整的PowerShell文件对象的属性,其实不需要去翻MSDN,然后把System.IO.FileInfo类的属性找出来,那样太麻烦了,而且貌似在P

C++中不能被重载的运算符介绍_C 语言

C/C++ 里大多数运算符都可以在 C++ 中被重载.C 的运算符中只有 . 和 ?:(以及 sizeof,技术上可以看作一个运算符)不可以被重载.C++ 增加了一些自己的运算符,除了 :: 和 .* 外,大多数都可以被重载.

asp.net C#中条件(三元)运算符 (?:)介绍

三元运算符"?:",语法为:条件表达式?表达式1:表达式2: 该操作首先求出条件表达式的值(bool类型),为true时调用表达式1,为flase时调用表达式2.其逻辑为:"如果为真执行第一个,否则执行第二个." 语法 test ? expression1 : expression2 test 任何 Boolean 表达式. expression1 test 为 true 时返回的表达式.可能是逗点表达式. expression2 test 为 false 时返回的

php中常用文件操作读写函数介绍

用 PHP 内置函数 file_exists 可以检查某个文件或目录是否存在.如果文件或目录存在,file_exists 函数返回 TRUE,如果不存在,则返回 FALSE. 下面是一个简单的检查文件是否存在的实例代码:  代码如下 复制代码 <html><body><?php $filename = "C:\blabla\php\hello.txt"; if (file_exists($filename))  {echo "The file $

PowerShell中使用Filter来创建管道输入函数_PowerShell

本文介绍在自定义PowerShell函数时,不使用Function而使用Filter.Filter可以快速的创建一个管道输入函数,Filter就相当于只有一个Process块的Function. Filter关键词可以代替Function关键词来创建函数.但Filter创建的函数,只能是接收管道输入参数的参数,并且是接收块结构数据的输入.所以在Filter定义的函数里面,你都看不到接收输入参数. 在Filter定义的函数中,使用$_变量,来遍历所有的输入对象. 复制代码 代码如下: Filter

PowerShell中使用return语句退出函数例子_PowerShell

本文介绍在自定义PowerShell函数时,可以使用return语句来退出函数,同时return语句也可以返回值给函数的调用者. 使用return语句来直接退出函数.看一个退出函数的例子: 复制代码 代码如下: function Get-NamedProcess {     param     ($name=$null)     if ($name -eq $null)     {         Write-Host -ForegroundColor Red 'Specify a name!'

PowerShell中对函数参数的命名建议_PowerShell

PowerShell自定义函数的参数没有具体的命名规则,那么怎么做才能让参数的命名更加科学可持续. 我们应该怎么来命名函数的参数名称呢?有没有一个可供参考的列表?当然微软没有给出来.但是我们可以来理一个列表出来.微软自带了大量的cmdlet,这些cmdlet使用的参数有什么规律呢?我们用下面一段命令来统计一下. 复制代码 代码如下: Get-Command -CommandType Cmdlet | ForEach-Object { $_.Parameters } | ForEach-Objec

PowerShell脚本写的文件.ps1文件介绍_PowerShell

.ps1文件是PowerShell写好的脚本文件.在Windows系统中,默认情况下是不允许执行.ps1文件的,那么怎么才能让系统允许执行.ps1文件呢? 什么是".ps1"文件? 这个是PowerShell写的脚本文本,你可以在记事本中写一段PowerShell代码,然后将其保存为"xxx.ps1",后面要使用它的时候,双击即可运行了.这有点像批处理的".bat"文件,也有点像VBScript的".vbs"文件.这些都是Wi

Powershell脚本的4种执行权限介绍_PowerShell

Restricted--默认的设置, 不允许任何script运行 AllSigned--只能运行经过数字证书签名的script RemoteSigned--运行本地的script不需要数字签名,但是运行从网络上下载的script就必须要有数字签名 Unrestricted--允许所有的script运行 windows默认不允许任何脚本运行,你可以使用"Set-ExecutionPolicy"cmdlet来改变的你PowerShell环境.例如,你可以使用如下命令让PowerShell运