Warum gibt die folgende Windows-Batch-Datei Foo
gefolgt von Bar
statt Baz
aus?Batch-Datei kann keine Umgebungsvariable innerhalb der bedingten Anweisung setzen
@echo off
setlocal
set _=Foo
echo %_%
set _=Bar
if 1==1 (
set _=Baz
echo %_%
)
Die Ausgabe auf meinem System (Microsoft Windows XP [Version 5.1.2600]) ist:
Foo
Bar
Wenn ich die bedingte Anweisung, die erwartete Ausgabe von Foo
entfernen und Baz
beobachtet wird.
Duplizieren von http://stackoverflow.com/questions/305605/weird-scope-issue-in-bat-file –