Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: kraszic en 11 Abril 2008, 16:44 pm



Título: Comando for [batch]
Publicado por: kraszic en 11 Abril 2008, 16:44 pm
Buenas, pues se utilizar poquito este comando de batch y por eso vengo a preguntar unas cosillas.

lo que me gustaria es procesar un archivo txt del tipo este:

Código:
54
98
75
45
22

Bueno, mi idea es q por medio del for, coger el numero de la linia q yo quiera, no se si me explico.
He visto en el tuto de programacion avanada q hay una opcion q es skip pero nose ni como se utiliza ni si sirve para lo q quiero..
Yo lo q quiero es por medio de un codigo poder coger el numero de la linia q quiera.

saludos


Título: Re: Comando for [batch]
Publicado por: kraszic en 20 Abril 2008, 12:26 pm
ola a todos, hace mas o menos una semanita q hice esta pregunta y me extraña q nadie haya respondido. :¬¬
Necesito saber como procesar ese archivo para saltar a la linia q quiero..
Por favor, si no me e explicado bien decirmelo y intentare extenderme mas.

saludos


Título: Re: Comando for [batch]
Publicado por: No_NICK en 2 Mayo 2008, 05:41 am
saludos,
Código:
echo off
set /p lin=Ingrese la linea a descubrir:
set txt=archivo.txt
for /f "tokens=1,2 skip=%lin%" %%a in (%txt%) do set n=%%a
echo.
echo.
echo.
echo La linea nro. %lin% contiene :  %n%
echo.
echo.
pause
   
        Espero haberte ayudado es bastante fácil

Salu2

 


Título: Re: Comando for [batch]
Publicado por: DarK_FirefoX en 2 Mayo 2008, 07:45 am
saludos,

Código:
echo off
set /p lin=Ingrese la linea a descubrir:
set txt=archivo.txt
for /f "tokens=1,2 skip=%lin%" %%a in (%txt%) do set n=%%a
echo.
echo.
echo.
echo La linea nro. %lin% contiene :  %n%
echo.
echo.
pause
   
        Espero haberte ayudado es bastante fácil

Salu2

 

Muy Bueno el Código......

PD: Utiliza las etiquetas [CODE*][/CODE*] (sin los asteriskos)


Título: Re: Comando for [batch]
Publicado por: $hyDow en 15 Junio 2008, 14:03 pm
tambien se puede hacer con type y call  extrayendo caracteres   


$hyDow


Título: Re: Comando for [batch]
Publicado por: kraszic en 7 Julio 2008, 17:43 pm
saludos,
Código:
echo off
set /p lin=Ingrese la linea a descubrir:
set txt=archivo.txt
for /f "tokens=1,2 skip=%lin%" %%a in (%txt%) do set n=%%a
echo.
echo.
echo.
echo La linea nro. %lin% contiene :  %n%
echo.
echo.
pause
   
        Espero haberte ayudado es bastante fácil

Salu2

 

Este post es de hace bastante tiempo, pero hoy me he topado con el proyecto q estaba haciendo y he ido a buscar la informacion.

Yo ya no se q hacer, he probado casi todo, pero este code no me funciona, cuando lo guarda en la variable solo guarda el ultimo numero de la lista puesto q skip sirve para saltar las lineas q quieras.

Pero yo lo q quiero es saltar por ejemplo a la linia 3 y q me muestre su contenido y q las demas linas se olvide de ellas.

Como lo puedo hacer??

saludos

PD: No_NICK, lo q busco es eso (La linea nro. %lin% contiene :  %n%)
Pero tu code no me funciona (siempre me coge la ultima linia), a ver si me podeis ayudar

PD2: Shydow, como seria lo q tu dices??


Título: Re: Comando for [batch]
Publicado por: carlitos.dll en 7 Julio 2008, 17:47 pm

¿Qué es lo que deseas?

Ir a una línea en específico, o ingresar un texto y te muestre la(s) linea(s) que lo  contienen?


Título: Re: Comando for [batch]
Publicado por: kraszic en 7 Julio 2008, 22:12 pm

¿Qué es lo que deseas?

Ir a una línea en específico, o ingresar un texto y te muestre la(s) linea(s) que lo  contienen?
lo que quiero es ir a una linia en especifico...
Osea, un batch tiene 50 linias, pues yo solamente quiero la primera palabra de la linia 16, me entiendes??

saludos


Título: Re: Comando for [batch]
Publicado por: kraszic en 8 Julio 2008, 12:56 pm
bueno, al fin lo logre xD
Vi unos codes en batch q juntaban el for con el call y probe a ver si me podia servir.

Lo dejo por si a alguien le interesa.

Código
  1. @echo off
  2.  
  3. set /p %lin%=Introduce la linia:
  4. for /f "tokens=1 skip=%lin%" %%a in (prueba.txt) do call :func %%a
  5. :func
  6. set var=%1
  7. echo %var%
  8. pause>nul

saludos