Есть ли способ увидеть путь к программе, выполняемой из интерфейса командной строки Windows?
Если я ввожу команду в командной строке, командный процессор ищет ее по текущему пути, а затем (если не найден) по путям, указанным в переменной среды PATH.
Так есть ли способ легко узнать, по какому именно пути была найдена моя набранная команда? Это может быть полезно, если ваша команда может появиться в нескольких системных путях.
Пакетный файл с параметром моей команды принимается как решение.
Тогда, так как самоответ не принят с моей репутацией, вот ответ, который я нашел:
Я нашел подсказку к этому здесь, в посте в блоге MSDN, где описана манипуляция пути в командном файле. На самом деле, мы создаем и вызываем командный файл ниже:
@REM this file is called where.in.PATH.cmd
@ECHO %1
@ECHO %~$PATH:1
Если вы хотите узнать, какой файл tf.exe будет запущен, просто введите:
where.in.PATH.cmd tf.exe
Выход:
tf.exe
C:\Program Files\Microsoft Visual Studio 11.0\Common7\IDE\TF.exe
т. е. единственный полный путь, который используется для выполнения напечатанного tf.exe, маловероятно, что в ответах ниже предложена стандартная команда.
3 ответа
В среде Linux вы можете использовать команду which your_binary
, Для аналога под Windows вы можете использовать where
Команда, как описано в этом посте.
WHERE
это самая близкая вещь, которую вы найдете в Windows, и она включена во все операционные системы Windows, начиная с 2003 года.
- Вы можете скачать procmon.exe из Sysinternals Suite (Microsoft).
- Запустите Procmon.exe
- Затем запустите вашу команду.
Вы должны видеть каждый доступ к чему угодно в любом месте. Я использую procmon для отладки в таких ситуациях.