¿Cual es la diferencia?
Yo pienso que de la forma %variable% el BATCH expande la variable y de la forma %%variable%% ejecutaría %variable%, la cual será expandida por la consola...
Para k entendais, por ejemplo con el comando echo sabemos que se puede reidirigir la salida:
Código:
echo echo off>>prueva.bat
echo set p=1>>prueva.bat
echo set /a p=%p%+1>>prueva.bat
echo echo %p%>>prueva.bat
echo pause>>prueva.bat
echo exit>>prueva.bat
echo set p=1>>prueva.bat
echo set /a p=%p%+1>>prueva.bat
echo echo %p%>>prueva.bat
echo pause>>prueva.bat
echo exit>>prueva.bat
Esto reidirigiría la salida a un archivo llamado "prueva.bat" que quedaría así:
Código:
echo off
set p=1
set /a p=+1
echo
pause
exit
set p=1
set /a p=+1
echo
pause
exit
lo cual estaría mal...pues al dar la salida a las variables de la forma %variable% el batch las expandiria y como no tienen valor quedaría ese bath mal...
Sin embargo si hubieramos usado %%variable%% la salida quedaría como nosotros queriamos:
Código:
echo echo off>>prueva.bat
echo set p=1>>prueva.bat
echo set /a p=%%p%%+1>>prueva.bat
echo echo %%p%%>>prueva.bat
echo pause>>prueva.bat
echo exit>>prueva.bat
echo set p=1>>prueva.bat
echo set /a p=%%p%%+1>>prueva.bat
echo echo %%p%%>>prueva.bat
echo pause>>prueva.bat
echo exit>>prueva.bat
entonces el archivo "prueva.bat" quedaria asi:
Código:
echo off
set p=1
set /a p=%p%+1
echo %p%
pause
exit
set p=1
set /a p=%p%+1
echo %p%
pause
exit
Pero la verdad no tengo ni idea...por eso os pregunto...
¿Es eso? ¿O estoy equivocado? O simplemente diganme ¿Cual es la diferencia de usar %variable% o %%variable%% en un BATCH?
Saludos