Pourquoi la sortie du fichier batch Windows suivante Foo
est-elle suivie par Bar
, au lieu de Baz
?Le fichier batch ne parvient pas à définir la variable d'environnement dans l'instruction conditionnelle
@echo off
setlocal
set _=Foo
echo %_%
set _=Bar
if 1==1 (
set _=Baz
echo %_%
)
La sortie sur mon système (Microsoft Windows XP [version 5.1.2600]) est:
Foo
Bar
Si je supprime l'instruction conditionnelle, la sortie prévue de Foo
et Baz
est observée.
Duplicata de http://stackoverflow.com/questions/305605/weird-scope-issue-in-bat-file –