Gracias, es lo que necesitaba...
No se me ocurrió lo del cmd /C %comando% jejeje
Lo que si que no entiendo es la manera que usas call:etiqueta o goto:etiqueta
Leí tu manual pero sigo sin enterarme mucho...solo se que goto:EOF te lleva al final del archivo o algo así...
Yo goto solo se usarlo así: goto etiqueta y call así: call archivo
Y otra duda, ¿pork si uso parentesis las variables no quedan definidas hasta que salgo de el?
Por ejemplo:
En este BATCH la salida será:
Como ves defino a con valor 2 antes del parentesis y dentro del parentesis me imprime ese valor, todo normal...pero despues le doy a a valor 5 dentro del parentesis pero al hacer echo %a% compruevo que su valor sigue siendo 2 dentro del parentesis. Dentro del parentesis tambien defino la variable c con valor 9 pero no funciona...Sin embargo fuera del parentesis la variable a ya tiene su nuevo valor 5 y c su valor 9...
Segun lo que yo creía ese BATCH debería ser igual a este pero no lo es:
Pero la salida de este es diferente:
No se si me entiendes?
Leí tu manual y entendi casi todo, menos esta parte de las etiquetas y del uso con el goto y call, y weno lo de los parentesis no se a k se debe...me podrías explicar estas cosas si no te es mucha molestia? Gracias
No se me ocurrió lo del cmd /C %comando% jejeje
Lo que si que no entiendo es la manera que usas call:etiqueta o goto:etiqueta
Leí tu manual pero sigo sin enterarme mucho...solo se que goto:EOF te lleva al final del archivo o algo así...
Yo goto solo se usarlo así: goto etiqueta y call así: call archivo
Y otra duda, ¿pork si uso parentesis las variables no quedan definidas hasta que salgo de el?
Por ejemplo:
Código [Seleccionar]
@echo off
set a=2
set b=2
if %a%==%b% (
echo Imprime su valor = "%a%"
set a=5
echo Imprime el antiguo valor = "%a%"
set c=9
echo No imprime c, c no está definido = "%c%"
)
echo Ahora fuera del parentesis me imprime su nuevo valor = "%a%"
echo Ahora fuera del parentesis la variable ya esta definida = "%c%"
pause>NUL
En este BATCH la salida será:
Código [Seleccionar]
Imprime su valor = "2"
Imprime el antiguo valor = "2"
No imprime c, c no está definido = ""
Ahora fuera del parentesis me imprime su nuevo valor = "5"
Ahora fuera del parentesis la variable ya esta definida = "9"
Como ves defino a con valor 2 antes del parentesis y dentro del parentesis me imprime ese valor, todo normal...pero despues le doy a a valor 5 dentro del parentesis pero al hacer echo %a% compruevo que su valor sigue siendo 2 dentro del parentesis. Dentro del parentesis tambien defino la variable c con valor 9 pero no funciona...Sin embargo fuera del parentesis la variable a ya tiene su nuevo valor 5 y c su valor 9...
Segun lo que yo creía ese BATCH debería ser igual a este pero no lo es:
Código [Seleccionar]
@echo off
set a=2
set b=2
if %a%==%b% goto etiq1
:etiq2
echo Ahora fuera del parentesis me imprime su nuevo valor = "%a%"
echo Ahora fuera del parentesis la variable ya esta definida = "%c%"
pause>NUL
exit
:etiq1
echo Imprime su valor = "%a%"
set a=5
echo Imprime el antiguo valor = "%a%"
set c=9
echo No imprime c, c no está definido = "%c%"
goto etiq2
Pero la salida de este es diferente:
Código [Seleccionar]
Imprime su valor = "2"
Imprime el antiguo valor = "5"
No imprime c, c no estß definido = "9"
Ahora fuera del parentesis me imprime su nuevo valor = "5"
Ahora fuera del parentesis la variable ya esta definida = "9"
No se si me entiendes?
Leí tu manual y entendi casi todo, menos esta parte de las etiquetas y del uso con el goto y call, y weno lo de los parentesis no se a k se debe...me podrías explicar estas cosas si no te es mucha molestia? Gracias