PowerShell 杂记(二)---Commandlet基本概念

 一个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的帮助文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值