No Linux, temos o comando "what" para descobrir o caminho de um executável.
Qual é o seu equivalente no Windows? Existe algum comando do PowerShell para fazer isso?
No Linux, temos o comando "what" para descobrir o caminho de um executável.
Qual é o seu equivalente no Windows? Existe algum comando do PowerShell para fazer isso?
Respostas:
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
where
trabalho para mim no Windows 7
where /r c:\ fileName
adicionar o / rc: \ me permitiu executar uma pesquisa recursiva iniciando na raiz da unidade C usando o Windows 7 Professional e parece não estar em access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/…
where.exe ping
porque where
é, por padrão alias para Where-Object
cmdlet que é completamente diferente história
Sim, Get-Command
encontrará todos os comandos, incluindo executáveis:
PS\> Get-Command ipconfig
Se você deseja limitar os comandos apenas aos executáveis:
PS\> Get-Command -CommandType Application
Encontrará todos os exes no 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 Path
propriedade do objeto retornado. Por exemplo:
PS\> (Get-Command notepad.exe).Path
Para mais informações, execute man Get-Command -full
.
Se você quiser abreviá-lo, crie uma linha com o arquivo.cmd com o conteúdo
echo %~$PATH:1
Isso pesquisará o primeiro parâmetro (% 1) alimentado no script e exibirá o caminho completo do arquivo encontrado. Um bom lugar para colocar esse script no Windows 10 é% LOCALAPPDATA% \ Microsoft \ WindowsApps \ which.cmd
E você obtém seu comando no caminho.
c:\>which cmd.exe
c:\>echo C:\Windows\System32\cmd.exe
C:\Windows\System32\cmd.exe