Ho provato il seguente esperimento.
Prima di iniziare, ho controllato la variabile PATH da cmd, che ha il seguente valore:
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\;
Inizialmente, ho pensato che cmd cercasse solo gli eseguibili nelle directory contenute nella variabile PATH, quindi ho scelto casualmente un'applicazione - winword.exe (Microsoft Word), e ho provato ad avviarlo dalla riga di comando:
start winword
Ma con mia sorpresa, il programma si avvia! Il motivo per cui sono sorpreso è perché ho cercato in tutte le directory nella variabile PATH il file exe chiamato 'winword' ma tutte le mie ricerche sono risultate vuote!
Ho quindi concluso che il prompt dei comandi deve aver saputo cercare in luoghi diversi da quelli specificati nella variabile PATH per cercare gli eseguibili.
Quindi, ovviamente, la prossima cosa che ho fatto è stata cercare la posizione precisa in cui si trova il file eseguibile 'winword'. Si scopre che winword.exe si trova qui:
C:\Program Files\Microsoft Office 15\root\office15
Quindi mi stai dando l'idea che forse CMD guarda automaticamente attraverso ProgramFiles e ProgramFiles (x86) (e tutte le loro sottodirectory) quando si esegue il comando 'start'? Il che mi ha portato a provare a lanciare un'altra applicazione installata sul mio computer, Audacity, con il file exe che si trova in:
C:\Program Files (x86)\Audacity
Ancora una volta, con mia grande sorpresa, Audacity non è stato avviato quando ho digitato:
start audacity
alla riga di comando.
Ho quindi aggiunto la directory contenente audacity.exe a PATH:
set path=%path%;C:\Program Files (x86)\Audacity
dopo di che ho provato ad avviare nuovamente audacity:
start audacity
Beh, non sorprende che Audacity sia stata lanciata.
Quello che voglio sapere è dove il prompt dei comandi cerca esattamente gli eseguibili? Perché winword.exe si avvia anche quando la directory che lo contiene non fa parte di PATH, ma la stessa cosa non è vera per audacity.exe?
Ho provato anche altre applicazioni. Chrome e Firefox funzionano quando utilizzo il comando start.
AGGIORNAMENTO: utilizzo Windows versione 6.3.9600 (Windows 8.1)