Zweck: | Speichern Sie eine Kopie des aktuellen Laufwerks, Verzeichnisses, der Umgebung, der Alias- und Funktionslisten sowie der Sonderzeichen |
Format: | SETLOCAL [GLOBALLISTEN] |
Globalisten | Globale Aliase/Benutzervariablenfunktionen |
Siehe auch: ENDLOCAL.
Verwendung:
SETLOCAL kann in der Befehlszeile, in Aliasnamen, in Bibliotheksfunktionen und in Batchdateien verwendet werden.
SETLOCAL speichert:
•das Standardlaufwerk und -verzeichnis
•die Umgebung,
•die Alias-Liste
•die benutzerdefinierte Funktionsliste
•Der Verzeichnisstapel (PUSHD)
•der Sonderzeichensatz (Befehlstrennzeichen, Escapezeichen, Parameterzeichen, Dezimaltrennzeichen und Tausendertrennzeichen)
• SETDOS /X Einstellung
• SETDOS /F Einstellung
Nach der Verwendung von SETLOCAL können Sie die Werte einiger oder aller oben genannten Werte ändern und später die ursprünglichen Werte mit einem wiederherstellen ENDLOCAL Befehl oder einfach durch Verlassen der Batchdatei.
SETLOCAL speichert weder den Befehlsverlauf noch die Array-Variablen.
Wenn Sie über globale Aliase und/oder Funktionen verfügen, kopiert SETLOCAL diese nun für die Dauer von SETLOCAL in eine lokale Liste. Der passende ENDLOCAL setzt sie auf die globale Liste zurück. Wenn Sie sowohl lokale als auch globale Aliase oder Funktionen definiert haben, speichert SETLOCAL nur die lokale Liste (die von ENDLOCAL wiederhergestellt wird).
SETLOCAL unterstützt die Argumente EnableExtensions, DisableExtensions, EnableDelayedExpansion und DisableDelayedExpansion von CMD. (Obwohl sie nicht notwendig sind, da TCC legt diese entweder standardmäßig oder über den OPTION-Befehl fest.)
Dieses Batchdateifragment speichert beispielsweise alles, entfernt alle Aliase, sodass Aliase keine Auswirkungen auf Batchdateibefehle haben, ändert die Festplatte und das Verzeichnis, ändert das Befehlstrennzeichen, führt ein Programm aus und stellt dann die ursprünglichen Werte wieder her:
setlocal
Unalias *
cdd d:\test
setdos /c~
program ~ echo Fertig!
endlocal
SETLOCAL und ENDLOCAL können in jeder Batchdatei bis zu 32 Ebenen tief verschachtelt sein. Sie können auch mehrere SETLOCAL / haben ENDLOCAL Paare innerhalb einer Batch-Datei und verschachtelte Batch-Dateien können jeweils ihr eigenes SETLOCAL / ENDLOCAL Paaren.
SETLOCAL überschreibt das nicht Lokale Aliase Konfigurationsoption. Folglich ändern sich Aliase innerhalb eines SETLOCAL / ENDLOCAL Das Paar wirkt sich auf die Definition von Aliasnamen anderer gleichzeitig ausgeführter Sitzungen aus TCC.
Sie können auch SETLOCAL und verwenden ENDLOCAL in einem Alias oder in der Befehlszeile. Die maximale Verschachtelungsebene über eine Befehlszeile oder einen Alias beträgt 32 Ebenen. Im Gegensatz zu Batch-Dateien sind Sie dafür verantwortlich, die SETLOCAL-/ ENDLOCAL Aufrufe von einem Alias oder einer Befehlszeile; TCC führt keinen automatischen ENDLOCAL durch.
Ein ENDLOCAL wird automatisch am Ende einer Batchdatei oder bei der Rückkehr von einem „GOSUB Dateiname". Wenn Sie eine Batchdatei aus einer anderen aufrufen, ohne sie zu verwenden Anrufen, die erste Batchdatei wird beendet und eine automatische ENDLOCAL ist durchgeführt; Die zweite Batchdatei erbt die Einstellungen so, wie sie vor SETLOCAL waren.
Sie können geänderte Variablen aus einem SETLOCAL-/ENDLOCAL-Block heraus „exportieren“. Sehen ENDLOCAL für weitere Einzelheiten.
Option:
Globalisten | Verhindern Sie, dass SETLOCAL während der SETLOCAL-Dauer zu lokalen Alias- und benutzerdefinierten Variablenfunktionslisten wechselt. |