Disons que j'ai un programme X.EXE
installé dans un dossier c:\abcd\happy\
sur le système. Le dossier se trouve sur le chemin du système. Supposons maintenant qu'il existe un autre programme sur le système, également appelé X.EXE, mais installé dans un dossier c:\windows\
.
Est-il possible de savoir rapidement à partir de la ligne de commande que si je tape X.EXE
lequel des deux X.EXE
sera lancé? (mais sans avoir à rechercher dans le répertoire ou à consulter les détails du processus dans le Gestionnaire des tâches).
Peut-être une sorte de commande intégrée, ou un programme qui peut faire quelque chose comme ça? :
detect_program_path X.EXE
windows
command-line
path
Zabba
la source
la source
Réponses:
Utilisez la
where
commande. Le premier résultat de la liste est celui qui s'exécutera.Selon ce billet de blog ,
where.exe
est inclus avec Windows Server 2003 et versions ultérieures, donc cela devrait fonctionner uniquement avec Vista, Win 7, et al.Sous Linux, l'équivalent est la
which
commande, par exemplewhich ssh
.la source
listdlls -d foo.dll
pour voir tous les processus sur lesquels le module est chargé et le chemin complet du module chargé. Alternativement, vous pouvez simplement faire une recherche de fichier Windows pour le nom du fichier.Voici un petit script cmd que vous pouvez copier-coller dans un fichier nommé quelque chose comme
where.cmd
:la source
Comme le fil mentionné dans le commentaire,
get-command
dans PowerShell peut également le résoudre. Par exemple, vous pouvez taperget-command npm
et la sortie est comme ci-dessous:la source
(get-command npm).Source
répondra avec juste le chemin vers npm (pour l'exemple) au lieu de la table entière de toutes les propriétés.