Когда я запускаю приложение из командной строки DOS в Windows, рассматриваемая команда часто находится не в текущем каталоге, а находится через переменную среды PATH. Какой самый быстрый способ найти путь к самому исполняемому EXE-файлу?
5 ответов
В Vista вы можете ввести имя исполняемого файла в поле поиска в меню "Пуск", когда оно отобразится в результатах, щелкните правой кнопкой мыши и выберите "Открыть местоположение файла" из меню.
Если программа все еще работает и вы используете Process Explorer из Sysinternals, вы можете щелкнуть по исполняемому файлу в списке процессов и выбрать свойства. На вкладке Image у вас есть путь к исполняемому файлу.
Другой способ - использовать Windows Powershell, использовать команду «get-command исполняемый файл» без кавычек, и вы получите путь к искомому исполняемому файлу. Ярлык для команды gcm, поэтому используйте вот так "gcm calc"
Если у вас установлен Cygwin , вы всегда можете использовать команду which
C:> which notepad
/c/WINDOWS/system32/notepad
Попробуйте следующее:
@rem file which.bat (must be placed somewhere in %PATH%)
@for %%e in (%PATHEXT%) do @for %%i in (%1%%e) do @if NOT "%%~$PATH:i"=="" echo %%~$PATH:i
Когда вы which notepad
в командной строке (cmd.exe
):
C:\>which notepad
C:\Windows\System32\notepad.exe
Если вы спрашиваете о программе, запущенной в данный момент, Windows не предлагает ничего из коробки для командной строки, насколько мне известно, которая дает вам полный путь к исполняемому файлу.
Если вы спрашиваете о программе, которую вы можете вызвать из командной строки, то вы можете использовать команду where
:
C:\> where fsutil
C:\Windows\System32\fsutil.exe
C:\>
Это работает для всех программ, которые вы можете вызывать в текущей переменной PATH или в текущем рабочем каталоге. Он не обнаружит встроенные команды, такие как DIR, но этого и следовало ожидать.
Вы могли бы попробовать
CD \
dir /s command.*
или из проводника просто выполните поиск по имени команды.