Título: Ayuda con For /f Publicado por: DUF en 15 Mayo 2013, 01:41 am Hola Hakers,
Soy nuevo en estos temas y pues quiero aprender, estoy en mi primer batch, pero tengo el siguiente problema: Tengo 3 archivos los cuales contienen la siguiente información: Código
Código
Código
En el código marque el batch por pasos y en el paso 1 todo va bien con el "for /f..." pues si me da el valor esperado, posteriormente entro a un "if" donde tengo otro "for /f..." y ahí en ese paso al poner un "echo %resul2" me marca ECHO esta desactivado entro a un segundo "if" y me marca lo mismo con la variable %resul3%, no obtengo valor en mis variables resul2 y resul3 Mi código es el siguiente: Código
GRACIAS POR LA AYUDA. MOD: Usa el botón de insertar código Título: Re: Ayuda con For /f Publicado por: Almapa en 15 Mayo 2013, 16:23 pm He estado probando el código y parece que hasta que no terminan todas las operaciones que hay dentro del "if", no se definen las variables que defines en los bucles for ("resul2" y "resul3").
Si sacas las operaciones que siguen al "for" fuera del if para el caso en el que las variables "resul2" y "resul3" estén definidas si que funciona. Con este código me funciona. Código: @echo off Un saludo Título: Re: Ayuda con For /f Publicado por: Eleкtro en 15 Mayo 2013, 17:15 pm Bienvenido a Batch,
El problema es que no estás expandiendo las variables dentro de los búcles. Añade un: Código: Setlocal EnableDelayedExpansion Y usa las variables con exclamaciones: Código: Echo !resul2! O no añadas nada y usa Call: Código: Call %%resul2%% http://foro.elhacker.net/scripting/tema_bloqueado_hasta_finalizar_el_tuto_tutorial_extendido_de_aprendizaje_batch-t375135.15.html Cita de: Elektro H@cker
Las variables expandidas son prácticamente igual que las variables standard, pero para poder usarlas se debe habilitar la expansión de las mismas con el comando SETLOCAL: Código: Setlocal enabledelayedexpansion Ejemplo: Código: @Echo OFF (http://img22.imageshack.us/img22/259/captura1y.png) Esta técnica se usa comúnmente dentro de un FOR donde para poder mostrar variables tienen que estar expandidas. Pero estas variables tienes sus inconvenientes, ya que al habilitar la expansión, solamente podremos usar el caracter ! como operador de variable, es decir, no podremos mostrar el caracter (Ni siquiera excluyendolo ni usando comillas). Ejemplo: Código: @Echo OFF (http://img22.imageshack.us/img22/4156/captura3oi.png) NOTA: Siempre se puede evitar la expansión y su restricción de caracteres, eso lo explicaré cuando lleguemos a la temática FOR. http://ss64.com/nt/delayedexpansion.html PD: Usa el botón "Insertar código" cuando postees Título: Re: Ayuda con For /f Publicado por: DUF en 21 Mayo 2013, 16:33 pm Muchas gracias a todos los que colaboraron con su ayuda. :D
|