powershell中的&在命令解释中的作用
powershell直接将使用双引号括起来的字符串当成文本处理,不会当作命令进行处理,要解决这个问题,我们可以直接在前面加上一个&
eg:
& "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
又或者是这样的
& ("note" + "pad")
cmdlet
powershell中的指令有一个名字叫做cmdlet
使用这条命令获取所有的cmdlet
get-command -commandtype cmdlet
当然,cmd的所有指令也是可以获取到的,使用下面这条命令
cmd /c help
我们可以看出来,powershell中的cmdlet的名字都是有着规律的
它通常是由一个动词和一个名词组成的
如果我们想使用powershell执行某些任务,如果我们的目的是想获取什么get
,可以使用下面这条命令得到我们可能用得到的cmdlet列表
Get-Command -verb get
下面是一张动词列表
Action | Description |
---|---|
Add | Add |
Clear | Delete |
Compare | Compare |
Convert | Convert |
Copy | Copy |
Export | Export |
Format | Format |
Get | Acquire |
Group | Group |
Import | Import |
Measure | Measure |
Move | Move |
New | Create new |
Out | Output |
Read | Read |
Remove | Remove |
Rename | Rename |
Resolve | Resolve |
Restart | Restart |
Resume | Resume |
Select | Select |
Set | Set |
Sort | Sort |
Split | Split |
Start | Start |
Stop | Stop |
Suspend | Suspend |
Tee | Split up |
Test | Test |
Trace | Trace |
Update | Update |
Write | Write |
我们可以使用Get-Help
获取任意cmdlet
的帮助
get-help get-command -detailed
我们也可以使用通配符来找到我们想用的cmdlet
Get-Command *help* -CommandType cmdlet
我们可以用大括号来声明一个名字非常长的变量
${this variable name is "unusual," but permitted} = "Hello World"
在大括号括起来的字符串中,即使出现了powershell的保留关键字也是没问题的
powershell同时对多个变量进行赋值操作
$a = $b = $c = 1
使用dir variable:可以列出当前已经创建的变量和自动变量(系统创建的)
获取当前所有含有20这个值的变量
dir variable: | Out-String -stream | Select-String " 20 "
我们在20前后加了空格,这样就可以过滤掉类似于200这种字符串了
Out-String后面的-stream选项可以确保所有的变量和他们的值会被逐行输出到一个text中,然后再使用Select-String进行过滤