Die Unterstützung der verzögerten Erweiterung von Umgebungsvariablen wurde
hinzugefügt. Standardmäßig ist sie deaktiviert. Sie kann mit der
Befehlszeilenoption /V von CMD.EXE aktiviert/deaktiviert werden.
Siehe CMD /?
Die verzögerte Erweiterung von Variablen verbessert die Möglichkeiten der
Variablenerweiterung. Bisher wurden die Variablen beim Lesen des Texts, und
nicht bei dessen Ausführung, erweitert. Das folgende Beispiel zeigt ein
Problem, das dabei auftritt:
set VAR=vorher
if "%%VAR%%" == "vorher" (
set VAR=nachher;
if "%%VAR%%" == "nachher" @echo Es funktioniert!
)
Die Meldung würde nie angezeigt, weil %%VAR%% in beiden IF-Befehlen
beim Lesen des ersten IF-Befehls erweitert wird, weil es logisch zu diesem
gehört. Daher vergleicht der zweite IF-Befehl "vorher" mit "nachher" was nie
gleich sein kann. Auch das folgende Beispiel funktioniert nicht wie erwartet:
set LISTE=
for %%i in (*) do set LISTE=%%LISTE%% %%i
echo %%LISTE%%
Es wird KEINE Liste der Dateien im aktuellen Verzeichnis erstellt, stattdessen
erhält LISTE den Namen der letzten Datei als Wert. Dies ist der Fall, weil
%%LISTE%% nur einmal beim Lesen des IF-Befehls erweitert wird. Zu diesem
Zeitpunkt ist LISTE leer.
Die FOR-Schleife, die tatsächlich ausgeführt wird, lautet:
for %%i in (*) do set LISTE= %%i
Hiermit wird der Variablen LISTE immer wieder der letzte Dateiname
zugewiesen.
Die verzögerte Erweiterung von Umgebungsvariablen erlaubt es, eine
Umgebungsvariable, unter Verwendung eines weiteren Zeichens (dem
Ausrufezeichen), zur Laufzeit zu erweitern. Mit aktivierter verzögerter
Erweiterung von Umgebungsvariablen können obige Beispiele wie folgt geschrieben
werden:
set VAR=vorher
if "%%VAR%%" == "vorher" (
set VAR=nachher
if "!VAR!" == "nachher" @echo Es funktioniert!
)
set LISTE=
for %%i in (*) do set LISTE=!LISTE! %%i
echo %%LISTE%%
Die unten aufgelisteten Benutzer können eine Verbindung mit diesem Computer herstellen. Mitglieder der Administratorengruppe ...
Die unterhalb dieser Zeile protokollierten Meldungen geben Aufschluss darüber, ob DNS-Einträge, die von anderen Geräten innerhalb ...
Die Unterstützung der Geräteauthentifizierung mittels Zertifikat erfordert eine Verbindung mit einem DC in der Gerätekontodomäne, ...
Die Unterstützung der MTU-Größe für die Team-NIC "%1" wurde aufgrund von zwischengespeicherten Funktionen eines Mitglieds, ...
Die Unterstützung der verzögerten Erweiterung von Umgebungsvariablen wurde hinzugefügt. Standardmäßig ist sie deaktiviert. ...
Die Unterstützung für dieses Betriebssystem ist ausgelaufen, und Ihr PC wird von @(BrandName) nicht mehr geschützt. Damit ...
Die Unterstützung für dieses Betriebssystem ist ausgelaufen. @(BrandName) wird nicht mehr unterstützt, und Ihr PC ist gefährdet. ...
Die Unterstützung für dieses Betriebssystem läuft aus. Danach wird @(BrandName) nicht mehr unterstützt, und der PC ist u. ...
Die Unterstützung für Ihr Betriebssystem ist abgelaufen. %1 wird unter Ihrem Betriebssystem nicht mehr unterstützt, funktioniert ...