Я попробовал следующий эксперимент.
Прежде чем начать, я проверил переменную PATH из cmd, которая имеет следующее значение:
Path=C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\ProgramData\Lenovo\ReadyApps;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\Skype\Phone\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Calibre2\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;
Сначала я подумал, что cmd ищет только исполняемые файлы в каталогах, содержащихся в переменной PATH, поэтому я случайно выбрал приложение - winword.exe (Microsoft Word) и попытался запустить его из командной строки:
start winword
Но, к моему удивлению, программа запускается! Причина, по которой я удивлен, заключается в том, что я искал во всех каталогах переменной PATH exe-файл с именем «winword», но все мои поиски оказались пустыми!
Поэтому я пришел к выводу, что командная строка должна была искать в местах, отличных от указанных в переменной PATH, для поиска исполняемых файлов.
Очевидно, что в следующий раз я искал точное место, где находится исполняемый файл winword. Оказывается, что winword.exe находится здесь:
C:\Program Files\Microsoft Office 15\root\office15
Следовательно, дает мне идею, что, возможно, CMD автоматически просматривает ProgramFiles и ProgramFiles(x86) (и все их подкаталоги) при выполнении команды start? В результате я попытался запустить другое приложение, установленное на моем компьютере, Audacity, с файлом exe, расположенным по адресу:
C:\Program Files (x86)\Audacity
Опять же, к моему удивлению, Audacity не удалось запустить, когда я набрал:
start audacity
в командной строке.
Затем я добавил каталог, содержащий audacity.exe в PATH:
set path=%path%;C:\Program Files (x86)\Audacity
после чего я снова попытался запустить Audacity:
start audacity
Неудивительно, что Audacity запущен.
Я хочу знать, где именно командная строка ищет исполняемые файлы? Почему winword.exe запускается, даже если каталог, содержащий его, не является частью PATH, но то же самое не относится к audacity.exe?
Я пробовал и другие приложения. Chrome и Firefox работают, когда я использую команду запуска.
ОБНОВЛЕНИЕ: я использую версию Windows 6.3.9600 (Windows 8.1)