在 PowerShell 中执行 `where.exe`

Kev*_*ith 5 powershell

我想要 PowerShell 中提供给我的相同功能where.exe

我试图找到可执行标准的 cmdlet 替代品,但找不到任何东西。

因此,默认情况下,我尝试在 PowerShell 中执行 where 命令,但有一个别名映射到该命令。

PS C:\> Get-Command 其中

命令类型名称 版本 源
----------- ---- ------- ------
别名 where ->Where-Object

有没有办法在 PowerShell 中执行where或者有更好的方法来达到相同的结果?

Jep*_*sen 8

当然,如果您不想删除where指向 的别名Where-Object,您可以键入.exe(键入.后跟 TAB 键就足够了),如下所示:

where.exe notepad
Run Code Online (Sandbox Code Playgroud)

否则,您是否尝试过Get-Command(alias gcm) 参数-All(PowerShell 3 及更高版本)?例如:

gcm notepad -All
Run Code Online (Sandbox Code Playgroud)

在我的机器上,给出:

命令类型名称 版本 源
----------- ---- ------- ------
应用程序notepad.exe 10.0.10... C:\Windows\system32\notepad.exe
应用程序 notepad.exe 10.0.10... C:\Windows\notepad.exe

它也会找到 PowerShell 的东西,如示例gcm where -All所示:

命令类型名称 版本 源
----------- ---- ------- ------
别名 where ->Where-Object
应用程序where.exe 10.0.10... C:\Windows\system32\where.exe

如果您确实想删除“标准”别名,请使用Remove-Item alias:where(如果您希望在每次启动 PowerShell 时完成,可以放入配置文件中)。


Mar*_*ndl 5

我不会删除现有where别名,因为这会导致您可能使用的脚本失败。相反,您可以为其定义一个新的别名:

Set-Alias -Name "wherecli" -Value "where.exe"
Run Code Online (Sandbox Code Playgroud)

然后你就可以使用wherecli.