Comando for [batch]

Iniciado por kraszic, 11 Abril 2008, 16:44 PM

0 Miembros y 1 Visitante están viendo este tema.

kraszic

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:

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

kraszic

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

No_NICK

#2
saludos,

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


DarK_FirefoX

Cita de: No_NICK en  2 Mayo 2008, 05:41 AM
saludos,

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)

$hyDow

tambien se puede hacer con type y call  extrayendo caracteres   


$hyDow

kraszic

Cita de: No_NICK en  2 Mayo 2008, 05:41 AM
saludos,

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??

carlitos.dll

#6

¿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?

kraszic

Cita de: 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?
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

kraszic

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 (dos) [Seleccionar]

@echo off

set /p %lin%=Introduce la linia:
for /f "tokens=1 skip=%lin%" %%a in (prueba.txt) do call :func %%a
:func
set var=%1
echo %var%
pause>nul
exit


saludos