Título: Ayuda con este script Publicado por: janus_gf en 5 Mayo 2008, 05:47 am hola a todos amigos :) miren tengo un archivo txt con varias lineas ahora
lo q quiero es que por ejemplo tomar las cinco primeras lineas y mandarlo a otro archivo, intente con este codigo: :¬¬ @echo off cls set /a r=0 for /f "tokens=*" %%i in (test5.txt) do @echo %%i && set /a r +=1 && if "%r%"=="5" @echo %%i>>1.txt Este script se me ocurrio pero igualno funciona en realidad no tengo muchas ideas de como podria hacer agradeceria sugerencias ::) un salu2 a todos ;) Título: Re: Ayuda con este script Publicado por: No_NICK en 5 Mayo 2008, 21:28 pm Epale amigo que buena pregunta disculpa pero te voy a modificar
tan solo un poquitin tú codigo espero que no te molestes xD Saludos Código:
..... Título: Re: Ayuda con este script Publicado por: janus_gf en 6 Mayo 2008, 05:16 am hola No_Nick excelente gracias por la respuesta ;) justo lo q estaba buscando
pero ahora tengo esta inquietud :¬¬ si por ejemplo quiero leer apartir de la linea 2 por ejemplo y solamente las 3 lineas consecutivas como podria hacer esa delimitacion. Un salu2 amigo y nuevamente gracias por responder si se te ocurre algo en buena hora ::) Título: Re: Ayuda con este script Publicado por: No_NICK en 6 Mayo 2008, 05:31 am ... a esta linea le agregas un "skip=n" que
especifica el número de líneas que hay que saltarse al principio del archivo. Citar :: Solo modifica esta linea agregando el skip=n :: La lógica del script quedaría así : si tienes 5 lineas en el .txt :: -si comienzas por la linea 2 = entonces en el archivo .txt la linea 5 sera :: 3 en el contador for /f "tokens=* skip=2 " %%a in (%xd%) do set j=%%a :: Lo demás queda igual Saludos... Título: Re: Ayuda con este script Publicado por: janus_gf en 6 Mayo 2008, 18:48 pm Muchas gracias amigo :D, mira estoy tratando de hacer lo siguiente tengo un
archivo con 5 preguntas, ahora lo estoy dividiendo cada pregunta en un archivo aparte, asi como me dijiste funciona perfectamente ;) pero para cada pregunta tengo q crear otro script y bueno yo lo quería implementar solo en un script, mi código es el siguiente: @echo off :: Esta variable es para capturar el nro de pregunta set /a preg=1 :: esta es para saltar las lineas set /a salta=1 :inicio cls set /a var=0 :: pregunto por el nro de pregunta y de acuerdo :: a eso salto las lineas if "%preg%"=="2" set /a salta=6 if "%preg%"=="3" set /a salta=6*2 if "%preg%"=="4" set /a salta=6*3 if "%preg%"=="5" set /a salta=6*4 :: con el comando for listamos todas las lienas del archivo .txt for /f "skip=%salta% tokens=*" %%a in (test5.txt) do set j=%%a && call :ini :ini :: luego con el contador listamos solo las primeras 5 lineas q pasaron por el for if '%var%'=='5' goto fin set /a var=var+1 :: pasamos las 5 primeras lineas al archivo llamado prueba.txt echo %j% >> P%preg%.txt :: goto :eof :fin :: Aqui pregunto si es la ultima pregunta termina if "%preg%" LEQ 5 goto salida :: si no es la ultima aumenta el nro de pregunta set /a preg+=1 :: regresamos al inicio para barrer las sigtes pregutnas goto inicio :salida Sin embargo solo me toma la primera pregunta nada mas, el resto no las toma nose porque :-[ sedebe poder hacer .. bueno nos vemos Salu2 Título: Re: Ayuda con este script Publicado por: No_NICK en 7 Mayo 2008, 02:00 am ummm creo que tienes dos detalles en tú scripts
Citar :: el operador de comparación a utilizar seria este NEQ :: y debes agregar al if /I de manera de q le informes al bat :: q estas haciendo una comparación if /I "%preg%" NEQ "5" goto salida El segundo detalle que veo es el contador fíjate Citar set /a preg+=1 -- el que tú tienes ::y estes es set /a preg=%preg%+1 ---el que yo usaría (creo que con ésto ya solucionas el problema...) Pero aún así me tomo la molestia de modificar la forma de usar el contador para optimizar el uso de la memoria.. (no es necesario q lo hagas es solo un ejemplo... Citar ::Ejemplo contador echo off :::iguala en la primera linea el contador a cero SIEMPRE xD set /a preg=0 ::y nos saltamos por encima el contador goto inicio :contador set /a preg=%preg%+1 goto :EOF :inicio :: lo llamamos para que nos asigne 1 valor a la variable %preg% call :contador :: :: aquí comenzaría tú scripts echo PREGUNTA %preg% :: aquí finaliza tú scripts :: ya verificamos la variable %preg% que valor tiene :: y así hasta que se cumpla la condición y nos vamos al fin if /I "%preg%" NEQ "4" goto inicio goto fin :fin :: esto por que ?? :: por que es mas fácil reutilizar el contador en cualquier lugar del scripts :: ejemplo :: lo igualo a cero y lo llamo otra vez set /a preg=0 call :contador echo y sigo escribiendo código xD echo por que el contador ahora esta en echo el numero %preg% otra vez Saludos... Título: Re: Ayuda con este script Publicado por: janus_gf en 7 Mayo 2008, 09:56 am excelente muchas gracias amigo ya todo funciona oks ;)
si tengo alguna otra duda lo postearé bajo otro tema bueno nuevamente gracias por responder Salu2 ..... ::) |