我如何问PowerShell的东西在哪里?
例如,"which notepad",它根据当前路径返回notepad.exe运行的目录。
我如何问PowerShell的东西在哪里?
例如,"which notepad",它根据当前路径返回notepad.exe运行的目录。
当前回答
与Unix的快速匹配
New-Alias which where.exe
但如果它们存在,它会返回多行,然后它就变成
function which {where.exe command | select -first 1}
其他回答
我通常只输入:
gcm notepad
or
gcm note*
gcm是Get-Command的默认别名。
在我的系统上,gcm note*输出:
[27] » gcm note*
CommandType Name Definition
----------- ---- ----------
Application notepad.exe C:\WINDOWS\notepad.exe
Application notepad.exe C:\WINDOWS\system32\notepad.exe
Application Notepad2.exe C:\Utils\Notepad2.exe
Application Notepad2.ini C:\Utils\Notepad2.ini
您将获得与您正在查找的内容相匹配的目录和命令。
看看这个PowerShell哪个。
这里提供的代码表明:
($Env:Path).Split(";") | Get-ChildItem -filter notepad.exe
There also always the option of using which. there are actually three ways to access which from Windows powershell, the first (not necessarily the best) wsl -e which command (this requires installation of windows subsystem for Linux and a running distro). B. gnuwin32 which is a port of several gnu binaries in .exe format as standle alone bundled lanunchers option three, install msys2 (cross compiler platform) if you go where it installed in /usr/bin you'll find many many gnu utils that are more up-to-date. most of them work as stand alone exe and can be copied from the bin folder to your home drive somewhere amd added to your PATH.
试试这个例子:
(Get-Command notepad.exe).Path
在Windows 2003或更高版本(或Windows 2000/XP,如果您已经安装了Resource Kit)上尝试使用where命令。
顺便说一下,这个问题在其他问题中得到了更多的答案:
Windows上有对应的“which”吗?
PowerShell相当于Unix的哪个命令?