Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: FranciskoAsdf en 28 Junio 2011, 18:08 pm



Título: [BATCH]Mostrar Suma de las lineas de un archivo de texto.
Publicado por: FranciskoAsdf en 28 Junio 2011, 18:08 pm
Hola, saludos :D!

En esta ocacion vengo a preguntar como puedo hacer algo.

Tengo un script (de hecho es uno de los de Leo) para contar las lineas de un archivo de texto. Que porsupuesto funciona perfecto. Pero lo que quiero hacer es que me vaya motrando la sumatoria de las lineas de texto.

El script es este:

Código
  1. @echo off
  2. set /a contador=0
  3. for /f "" %%x in (CLLDB.CSV) do (
  4. call :contador %%x
  5.  
  6. )
  7. echo Lineas : %contador%
  8. pause>nul
  9. goto:eof
  10. :contador
  11. set /a contador+=1
  12. goto:eof
  13.  

El problema es que solo muestra la suma final. Y yo quiero que se vaya mostrando la suma, onda 1 2 3 4 5 hasta 10041 o los que tenga el archivo xD.

Probé con colocar:

Código
  1. ECHO %contador%
  2.  
Código
  1. ECHO %%x
  2.  

El primero dentro y fuera del FOR, y el segundo obviamente solo dentro del FOR.

Pero o me muestran solo "0" o el texto de las lineas.


Si alguien fuera tan amable de ayudarme porfavor.

De ante mano muchas gracias, Saludos.


Título: Re: [BATCH]Mostrar Suma de las lineas de un archivo de texto.
Publicado por: SuperDraco en 28 Junio 2011, 19:16 pm
hola, debías ponerlo dentro del Call



Código
  1. @echo off
  2. set /a contador=0
  3. for /f "" %%x in (CLLDB.CSV) do (
  4. call :contador %%x
  5.  
  6. )
  7. echo Lineas : %contador%
  8. pause>nul
  9. goto:eof
  10. :contador
  11. set /a contador+=1
  12. echo %contador%
  13. goto:eof




Resultado en la pantalla:

Código:
1
2
3
4
5
Lineas : 5


Saludos!


Título: Re: [BATCH]Mostrar Suma de las lineas de un archivo de texto.
Publicado por: FranciskoAsdf en 28 Junio 2011, 22:26 pm
:OOO, soy un inepto xd, no se me ocurrio :S, muchas gracias por la ayuda Pitoloko


Saludos y gracias de nuevo ;D


Título: Re: [BATCH]Mostrar Suma de las lineas de un archivo de texto.
Publicado por: leogtz en 28 Junio 2011, 23:30 pm
¿No te funciona esto?

Código
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /a contador=0
  4. for /f "" %%x in (CLLDB.CSV) do (
  5. set /a contador+=1
  6. echo !contador!
  7. )
  8. echo Lineas : %contador%
  9. pause>nul
  10. goto:eof
  11.  

Aviso que estoy en Linux y no puedo probarlo.


Título: Re: [BATCH]Mostrar Suma de las lineas de un archivo de texto.
Publicado por: FranciskoAsdf en 29 Junio 2011, 16:35 pm
Por alguna razon que desconozco XD, funciona de igual forma, pero mucho mas rapido.

Gracias Leo y Pitoloko, una vez mas me han salvado :D


Título: Re: [BATCH]Mostrar Suma de las lineas de un archivo de texto.
Publicado por: SuperDraco en 29 Junio 2011, 18:13 pm
A mi también se me ocurrió lo de expandir, pero tambien por una razón que desconozco, no me funcionó :/  y lo hice igual que Leo, que raro xD

saludos


Título: Re: [BATCH]Mostrar Suma de las lineas de un archivo de texto.
Publicado por: FranciskoAsdf en 29 Junio 2011, 20:24 pm
xD, pero como te digo, funciona, pero mas rapido. xD


Título: Re: [BATCH]Mostrar Suma de las lineas de un archivo de texto.
Publicado por: leogtz en 29 Junio 2011, 20:42 pm
Creo que esto también funcionaría
Código
  1. @echo off
  2. for /f "tokens=*" %%_ in ('cat CLLDB.CSV ^| find /v /c ""') do set n="%%_"
  3. for /l %%_ in (1, 1, %n%) do echo %%_
  4. echo Lineas : %n%
  5.  


Título: Re: [BATCH]Mostrar Suma de las lineas de un archivo de texto.
Publicado por: WaAYa HaCK en 29 Junio 2011, 21:46 pm
Creo que esto también funcionaría
Código
  1. @echo off
  2. for /f "tokens=*" %%_ in ('cat CLLDB.CSV ^| find /v /c ""') do set n="%%_"
  3. for /l %%_ in (1, 1, %n%) do echo %%_
  4. echo Lineas : %n%
  5.  

for /f "tokens=*" %%_ in ('cat CLLDB.CSV ^| find /v /c ""') do set n="%%_"
Comando "cat" en Windows? Cuál?
Ahora en serio: sé que cat es de UNIX, pero... los de Windows también lo tienen? No es coña, ando perdido...  :P . Te colaste tú o me colé yo, como es usual   :huh: ? Disculpa


Título: Re: [BATCH]Mostrar Suma de las lineas de un archivo de texto.
Publicado por: SuperDraco en 29 Junio 2011, 22:08 pm
Existe, pero se le habrá colado xD

http://unxutils.sourceforge.net/

EDITO: Solo funciona el link del mirror  :rolleyes:


Título: Re: [BATCH]Mostrar Suma de las lineas de un archivo de texto.
Publicado por: WaAYa HaCK en 1 Julio 2011, 09:27 am
Ah, de acuerdo.