Algumas versões do Windows (acho que o Windows 2003 e superior) têm o comando where:
c:\>where ping
C:\Windows\System32\PING.EXE
No Linux, temos o comando "which" para descobrir o caminho de um executável.
Qual é o seu equivalente no Windows? Existe algum comando do PowerShell para fazer isso?
Algumas versões do Windows (acho que o Windows 2003 e superior) têm o comando where:
c:\>where ping
C:\Windows\System32\PING.EXE
Sim, Get-Command
encontrará todos os comandos, incluindo executáveis:
PS\> Get-Command ipconfig
Se você quiser limitar os comandos apenas a executáveis:
PS\> Get-Command -CommandType Application
Encontrará todos os exes em seu caminho. Existe um alias para uso interativo:
PS\> gcm net* -CommandType Application
Para obter o caminho de um executável, você pode usar a propriedade Path
do objeto retornado. Por exemplo:
PS\> (Get-Command notepad.exe).Path
Para mais informações, execute man Get-Command -full
.
Além do user10404, o comando help funcionará em aliases, portanto, você pode usar o mesmo nome de comando (gcm) para ajuda e uso interativo:
help gcm -Parameter *
# or
man gcm -Par *
Se você quiser resumir, crie uma linha com um arquivo .cmd com o conteúdo
echo %~$PATH:1
Isso irá procurar o primeiro parâmetro (% 1) alimentado para o script e exibir o caminho completo do arquivo encontrado. Bom lugar para colocar este script no Windows 10 é % LOCALAPPDATA% \ Microsoft \ WindowsApps \ which.cmd
E você recebe seu comando no caminho.
c:\>which cmd.exe
c:\>echo C:\Windows\System32\cmd.exe
C:\Windows\System32\cmd.exe