Test Foro de elhacker.net SMF 2.1

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

@echo off
set /a contador=0
for /f "" %%x in (CLLDB.CSV) do (
call :contador %%x

)
echo Lineas : %contador%
pause>nul
goto:eof
:contador
set /a contador+=1
goto:eof


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

ECHO %contador%

Código (dos) [Seleccionar]

ECHO %%x


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 (dos) [Seleccionar]
@echo off
set /a contador=0
for /f "" %%x in (CLLDB.CSV) do (
call :contador %%x

)
echo Lineas : %contador%
pause>nul
goto:eof
:contador
set /a contador+=1
echo %contador%
goto:eof





Resultado en la pantalla:


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 (dos) [Seleccionar]
@echo off
setlocal enabledelayedexpansion
set /a contador=0
for /f "" %%x in (CLLDB.CSV) do (
set /a contador+=1
echo !contador!
)
echo Lineas : %contador%
pause>nul
goto:eof


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 (dos) [Seleccionar]
@echo off
for /f "tokens=*" %%_ in ('cat CLLDB.CSV ^| find /v /c ""') do set n="%%_"
for /l %%_ in (1, 1, %n%) do echo %%_
echo Lineas : %n%
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
Cita de: Leo Gutiérrez. en 29 Junio 2011, 20:42 PM
Creo que esto también funcionaría
Código (dos) [Seleccionar]
@echo off
for /f "tokens=*" %%_ in ('cat CLLDB.CSV ^| find /v /c ""') do set n="%%_"
for /l %%_ in (1, 1, %n%) do echo %%_
echo Lineas : %n%


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.