Ich habe das folgende Experiment versucht.
Bevor ich anfange, habe ich die PATH-Variable von cmd überprüft, die den folgenden Wert hat:
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\;
Zuerst dachte ich, dass cmd nur nach ausführbaren Dateien in den Verzeichnissen sucht, die in der PATH-Variablen enthalten sind, also habe ich zufällig eine Anwendung ausgewählt - winword.exe (Microsoft Word) und versucht, sie über die Befehlszeile zu starten:
start winword
Aber zu meiner Überraschung startet das Programm! Der Grund, warum ich überrascht bin, ist, dass ich alle Verzeichnisse in der PATH-Variablen nach der Exe-Datei namens 'winword' durchsucht habe, aber alle meine Suchanfragen waren leer!
Ich bin daher zu dem Schluss gekommen, dass die Eingabeaufforderung andere Stellen als die in der PATH-Variablen angegebenen durchsucht haben muss, um nach ausführbaren Dateien zu suchen.
Das nächste, was ich tat, war natürlich, nach dem genauen Speicherort zu suchen, an dem sich die ausführbare Datei "winword" befindet. Es stellt sich heraus, dass sich winword.exe hier befindet:
C:\Program Files\Microsoft Office 15\root\office15
Daraus ergibt sich die Idee, dass CMD beim Ausführen des Befehls 'start' möglicherweise automatisch ProgramFiles und ProgramFiles (x86) (und alle ihre Unterverzeichnisse) durchsucht? Aus diesem Grund habe ich versucht, eine andere auf meinem Computer installierte Anwendung, Audacity, mit der exe-Datei zu starten, die sich unter folgender Adresse befindet:
C:\Program Files (x86)\Audacity
Zu meiner Überraschung konnte Audacity erneut nicht gestartet werden, als ich Folgendes eingab:
start audacity
an der Befehlszeile.
Ich habe dann das Verzeichnis mit audacity.exe zu PATH hinzugefügt:
set path=%path%;C:\Program Files (x86)\Audacity
Danach habe ich versucht, Audacity erneut zu starten:
start audacity
Nun, nicht überraschend, startete Audacity.
Ich möchte wissen, wo genau die Eingabeaufforderung nach ausführbaren Dateien sucht. Warum wird winword.exe auch dann gestartet, wenn das Verzeichnis, in dem es sich befindet, nicht Teil von PATH ist, aber das Gleiche gilt nicht für audacity.exe?
Ich habe auch andere Anwendungen ausprobiert. Chrome und Firefox funktionieren, wenn ich den Startbefehl verwende.
UPDATE: Ich verwende Windows Version 6.3.9600 (Windows 8.1)