No se puede poner una nueva línea al igual que en el medio de la IF
. Por lo que podría hacer esto:
if %var1%=="Yes" echo Var1 set
O, si usted quiere que sus declaraciones repartidas en múltiples líneas puede utilizar paréntesis:
if %var1%=="Yes" (
echo Var1 set
)
Sin embargo, cuando se está utilizando soportes de tener cuidado, porque la variable Es posible que la expansión no se comporte como esperabas. Por ejemplo:
set myvar=orange
if 1==1 (
set myvar=apple
echo %myvar%
)
Salidas:
orange
Esto se debe a que todo lo que entre los soportes se trata como un solo estado y todas las variables se expanden antes de cualquiera de los comandos se ejecutan entre los soportes. Puede solucionar esto usando expansión retardada:
setlocal enabledelayedexpansion
set myvar=orange
if 1==1 (
set myvar=apple
echo !myvar!
)
Gracias. ¿Es aplicable solo para echo o para todos los comandos que siguen como resultado positivo para if? – bdhar
@bdhar, esa es la sintaxis para el comando 'if', entonces sí, todos, no solo echo. – paxdiablo
+1 por un bucle while en el archivo por lotes. –