Startet die Begrenzung des Gültigkeitsbereiches von Änderungen. Änderungen der Umgebung nach SETLOCAL sind nur auf die Batchdatei bezogen. Um die ursprünglichen Einstellungen wiederherzustellen, muss der Befehl ENDLOCAL ausgeführt werden. Beim Erreichen des Endes einer Batchdatei wird ein impliziertes ENDLOCAL für jegliche ausstehende SETLOCAL-Befehle ausgeführt. SETLOCAL Mit den Befehlserweiterungen wird der SETLOCAL-Befehl wie folgt geändert: Der SETLOCAL-Batchbefehl akzeptiert jetzt optionale Argumente: ENABLEEXTENSIONS / DISABLEEXTENSIONS Aktiviert bzw. deaktiviert Befehlsprozessorerweiterungen. Diese Argumente haben Vorrang gegenüber den Optionen "CMD /E:ON" oder "CMD /E:OFF". Geben Sie CMD /? ein, um weitere Informationen zu erhalten. ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION Aktiviert bzw. deaktiviert die verzögerte Erweiterung von Umgebungsvariablen. Diese Argumente haben Vorrang gegenüber den Optionen "CMD /V:ON" oder "/V:OFF". Geben Sie CMD /? ein, um weitere Informationen zu erhalten. Diese Änderungen sind bis zum übereinstimmenden ENDLOCAL-Befehl gültig, und zwar unabhängig von vorherigen Einstellungen für den SETLOCAL-Befehl. Der SETLOCAL-Befehl legt einen ERRORLEVEL-Wert fest, wenn ein Argument angegeben wird. Dieser ist 0, wenn eines der beiden gültigen Argumente angegeben wird, und andernfalls 1. Kann in Batchskripts verwendet werden, um festzustellen, ob die Erweiterungen verfügbar sind. Dies kann wie folgt geprüft werden: VERIFY OTHER 2>nul SETLOCAL ENABLEEXTENSIONS IF ERRORLEVEL 1 echo keine Befehlserweiterungen möglich Dies funktioniert, da in älteren Versionen von CMD.EXE der SETLOCAL-Befehl keinen ERRORLEVEL-Wert festlegt. Der VERIFY-Befehl mit einem ungültigen Argument initialisiert den ERRORLEVEL-Wert mit einem Wert ungleich 0. --- setlocal setlocal enableextensions setlocal enabledelayedexpansion
© by Alois Reifenschneider