
Unter meinem Verzeichnis C:\Users\ME
habe ich ein Verzeichnis namens C:\Users\ME\Invoices
. Dort bewahre ich meine Buchhaltung und all das auf. Ich habe jedoch eine *.bat
Datei erstellt, die ich genannt habe Invoices.bat
. Ich wette, jeder weiß, worauf das hinausläuft. In der Datei hatte ich das folgende Skript:
start C:\Users\ME\Invoices
Aus irgendeinem Grund lief die Windows-Befehlszeile in einer Schleife und brachte ständig Befehlszeilenaufforderungen hervor. Zum Glück stürzte mein Computer nicht ab, ich schloss die Fenster. Das Problem machte mich jedoch neugierig, natürlich habe ich es in meinem PATH=C:\Users\ME
. War das System verwirrt und wusste nicht, was es starten sollte? Oder lag es an der Tatsache, dass sie denselben Namen hatten? Ich habe zufällig den *.bat
Dateinamen geändert Bookkeeping.bat
und es wurde problemlos ausgeführt? Ich würde gerne Ihre Meinung zu dem Problem erfahren. Ist das ein Zufall oder der Fehler mit demselben Namen? Ich möchte anmerken, dass ich es sowohl mit laufendem als auch mit nicht laufendem explorer.exe versucht habe.
Antwort1
Ausstart
Wenn eine Befehlszeile ausgeführt wird, deren erstes Token KEINE Erweiterung enthält, verwendet CMD.EXE den Wert der Umgebungsvariable PATHEXT, um zu bestimmen, nach welchen Erweiterungen gesucht werden soll und in welcher Reihenfolge. Der Standardwert für die Variable PATHEXT ist:
.COM;.EXE;.BAT;.CMD
Notice the syntax is the same as the PATH variable, with
semicolons separating the different elements.
Und auch
Wenn bei der Suche nach einer ausführbaren Datei keine Übereinstimmung für eine Erweiterung gefunden wird, wird geprüft, ob der Name mit einem Verzeichnisnamen übereinstimmt. Wenn dies der Fall ist, startet der Befehl START den Explorer in diesem Pfad. Wenn dies über die Befehlszeile erfolgt, entspricht dies dem Ausführen von CD /D in diesen Pfad.
Also, ja, es liegt daran, dass Ihr Dateiname mit dem Ordnernamen übereinstimmt.