我想要 PowerShell 中提供给我的相同功能where.exe。
我试图找到可执行标准的 cmdlet 替代品,但找不到任何东西。
因此,默认情况下,我尝试在 PowerShell 中执行 where 命令,但有一个别名映射到该命令。
PS C:\> Get-Command 其中 命令类型名称 版本 源 ----------- ---- ------- ------ 别名 where ->Where-Object
有没有办法在 PowerShell 中执行where或者有更好的方法来达到相同的结果?
当然,如果您不想删除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 时完成,可以放入配置文件中)。
我不会删除现有where别名,因为这会导致您可能使用的脚本失败。相反,您可以为其定义一个新的别名:
Set-Alias -Name "wherecli" -Value "where.exe"
Run Code Online (Sandbox Code Playgroud)
然后你就可以使用wherecli.
| 归档时间: |
|
| 查看次数: |
2029 次 |
| 最近记录: |