一个WPS命令称为commandlet(cmdlet)或function。它有三个部分:
1. 动词 2. 名词 3. 参数列表(可选)
构成Verb-Norn [-parameter list]形式,如Get-Process
参数可以多个。下面三个命令是一样的。
Get-ChildItem C:/temp *.doc (但不能写成Get-ChildItem *.doc C:/temp)
Get-ChildItem -Path C:/temp -Filter *.doc
Get-ChildItem -Filter *.doc -Path C:/temp
参数还可以是一种计算式,如Get-ChildItem ("c:/" + "Windows") *.dll –Recurse
占位符: 参数中的*表示任意个任意字符,如Get-Process i*
别名:
可以为cmdlet起个别名。下面可以获取Get-Process的别名列表。要获取所有的别名,就用Get-Alias
Get-Alias | Where-Object { $_.definition -eq "get-process" }
创建一个新别名可用Set-Alias或New-Alias如
Set-Alias procs Get-Process
另外,还可以为程序取别名:Set-Alias np nodepad.exe
注意,别名不带参数,如果是一个完整的命令,需要定义成一个函数:
Funtion temp {Get-ChildItem c:/temp}
如c: e: mkdir等就是函数
表达式Express
WPS命令还可以由表达式构成:如
10*(8+6)
实际上有命令模式和表达式模式。下面是一些规律:
2+3 表达式,结果是5
echo 2+3 纯命令模式,2+3当作一字符串。结果没意义
echo (2+3) 命令加一表达式,结果是5
2+3 | echo pipeline,表达式加命令,结果是5
echo 2+3 | 7+7 无效
$a=Get-Process 包含命令的表达式,赋予一变量
$a | Get-Process 由表达式开始的管道。$a内容传递给Get-Process作为参数
外部命令:
一些外部的DOS工具也可以被执行,如ping.exe, ipconfig.exe, netstat.exe等。而且它们还可以组合其它的管道,如
netstat | select-string LDAP
如果这些工具的名称与别名或其它的重名的情况下,WPS以如下顺序选择执行:
1. 别名 2. 函数 3 cmdlet 4. 外部命令
命令中的文件名可以直接使用,除非包含空格,这时要使用双引号。
获取帮助
1. Get-Command
形式有:Get-Command get-*
Get-Command [gs]et-*
Get-Command *-Service
Get-Command -noun Service (包含所有名词是Service的cmdlet)
Get-Command *.exe (查找所有可执行文件)
2. Get-Help 参数有-detail -full
形式有: Get-Help Get-Process (与Get-Process -?一样)
另外,在Microsoft的网站上有一份CHM的帮助文档