Sie nicht eine neue Zeile wie das in der Mitte der IF
setzen. So könnten Sie dies tun:
if %var1%=="Yes" echo Var1 set
Oder, wenn Sie Ihre Aussagen über mehrere Zeilen verteilt haben möchten, können Sie Klammern verwenden:
if %var1%=="Yes" (
echo Var1 set
)
Wenn jedoch Sie verwenden Klammern vorsichtig sein, denn variable Die Erweiterung verhält sich möglicherweise nicht wie erwartet. Zum Beispiel:
set myvar=orange
if 1==1 (
set myvar=apple
echo %myvar%
)
Ausgänge:
orange
Dies liegt daran, alles zwischen den Klammern als eine einzige Anweisung behandelt wird und alle Variablen werden, bevor eine der Befehl erweitert zwischen den Klammern ausgeführt werden. Sie können diese mit verzögerten Expansion arbeiten:
setlocal enabledelayedexpansion
set myvar=orange
if 1==1 (
set myvar=apple
echo !myvar!
)
Dank. Gilt es nur für Echo oder für alle folgenden Befehle als positives Ergebnis für if-Anweisung? – bdhar
@bdhar, das ist die Syntax für den 'if' Befehl ja, ja, alle von ihnen, nicht nur echo. – paxdiablo
+1 für eine While-Schleife in Batch-Datei. –