Есть ли способ увидеть путь к программе, выполняемой из интерфейса командной строки 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 для отладки в таких ситуациях.

Другие вопросы по тегам