如何在本机支持它的powershell参数中使用通配符?

clo*_*yn3 4 parameters powershell scripting wildcard

好的,对不起那个可能很无聊的问题.我已经研究PowerShell一段时间了,并且遇到了一些我无法弄清楚如何正确地为谷歌说话的东西.

从最基本的意义上说,这就是我想要做的.

Get-Process -id 76*
Run Code Online (Sandbox Code Playgroud)

现在我明白了-id不会处理通配符*.如果我想在理论上使用

Get-Process -id
Run Code Online (Sandbox Code Playgroud)

并为此创建一个通配符脚本,我该怎么做?我需要创建自己的功能吗?

我想补充说PS特别说参数*不是一个可用的字符-Name,但我可以使用它.这是MS的错误吗?提前感谢您的任何建议!

use*_*740 7

对Get-Process输出使用(Where-Object)过滤器.

在这种情况下:

Get-Process | where { $_.Id -like '76*' }
Run Code Online (Sandbox Code Playgroud)

(whereWhere-Objectcmdlet 的别名.)

  • @ cloudnyn3这是对的.如果过滤器的存在(或者更确切地说,缺席)大大改变了执行时间,那么除非源本身支持过滤器,否则你就是一条小溪.这里的花括号创建了一个["Script Block"](http://www.padisetty.com/2014/05/all-about-powershell-scriptblock.html),通常可以将其视为lambda/anonymous函数. (2认同)