Bei der Durchsicht eines von einem ehemaligen Kollegen geschriebenen Batch-Skripts ist mir die Zeile Goto :EOF aufgefallen. Eine Sprungmarke mit dem Namen :EOF ist im Skript aber nicht zu finden. Was mich noch mehr verblüfft hat: Trotzdem scheint das Skript klaglos zu funktionieren. Wie hat der Kollege das hinbekommen?
Die drei Buchstaben stehen für "End Of File". Der Befehl Goto :EOF springt demzufolge ans Dateiende, und weil dort keine Befehlszeilen mehr stehen, endet die Abarbeitung des Skripts durch den Interpreter.
Sie können sich :EOF also wie eine unsichtbare Sprungmarke vorstellen, die als letzte Zeile in einem Batch-Skript steht.
Der Befehl funktioniert übrigens nur, wenn die Befehlserweiterungen aktiv sind. Das ist jedoch bei allen aktuellen Windows-Versionen standardmäßig der Fall. Zur Sicherheit können Sie die Erweiterungen in einem Batch-Skript mit dem Befehl setlocal enableextensions erzwingen.
Ebenfalls beenden können Sie ein Skript mit exit /b.
Quelle: heise
Die drei Buchstaben stehen für "End Of File". Der Befehl Goto :EOF springt demzufolge ans Dateiende, und weil dort keine Befehlszeilen mehr stehen, endet die Abarbeitung des Skripts durch den Interpreter.
Sie können sich :EOF also wie eine unsichtbare Sprungmarke vorstellen, die als letzte Zeile in einem Batch-Skript steht.
Der Befehl funktioniert übrigens nur, wenn die Befehlserweiterungen aktiv sind. Das ist jedoch bei allen aktuellen Windows-Versionen standardmäßig der Fall. Zur Sicherheit können Sie die Erweiterungen in einem Batch-Skript mit dem Befehl setlocal enableextensions erzwingen.
Ebenfalls beenden können Sie ein Skript mit exit /b.
Quelle: heise