Я спробував наступний експеримент.
Перш ніж почати, я перевірив змінну 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
у командному рядку.
Потім я додав до PATH каталог, що містить audacity.exe:
set path=%path%;C:\Program Files (x86)\Audacity
після чого я знову спробував запустити зухвалість:
start audacity
Ну, не дивно, що Audacity запустив.
Що я хочу знати, де саме командний рядок шукає виконувані файли? Чому він запускається winword.exe навіть тоді, коли каталог, що містить його, не є частиною PATH, але те ж саме не стосується audacity.exe?
Я пробував і інші програми. Chrome і Firefox працюють під час використання команди start.
ОНОВЛЕННЯ: Я використовую Windows версії 6.3.9600 (Windows 8.1)