Digamos que eu tenha um programa X.EXE
instalado na pasta c:\abcd\happy\
do sistema. A pasta está no caminho do sistema. Agora, suponha que exista outro programa no sistema que também seja chamado X.EXE, mas esteja instalado na pasta c:\windows\
.
É possível descobrir rapidamente na linha de comando que se eu digitar X.EXE
qual dos dois X.EXE
será lançado? (mas sem precisar direcionar a pesquisa ou examinar os detalhes do processo no Gerenciador de tarefas).
Talvez algum tipo de comando embutido, ou algum programa por aí que possa fazer algo assim? :
detect_program_path X.EXE
windows
command-line
path
Zabba
fonte
fonte
Respostas:
Use o
where
comando O primeiro resultado da lista é o que será executado.De acordo com este post do blog ,
where.exe
está incluído no Windows Server 2003 e posterior; portanto, isso deve funcionar apenas com o Vista, Win 7, et al.No Linux, o equivalente é o
which
comando, por exemplowhich ssh
.fonte
listdlls -d foo.dll
para ver todos os processos que têm o módulo carregado e o caminho completo para o módulo carregado. Como alternativa, você pode apenas fazer uma pesquisa de arquivo do Windows pelo nome do arquivo.Aqui está um pequeno script cmd que você pode copiar e colar em um arquivo chamado algo como
where.cmd
:fonte
Como o thread mencionado no comentário,
get-command
no PowerShell também pode resolver isso. Por exemplo, você pode digitarget-command npm
e a saída é a seguinte:fonte
(get-command npm).Source
responderá apenas com o caminho para npm (por exemplo) em vez da tabela inteira de todas as propriedades.