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:
@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:
ECHO %contador%
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.
hola, debías ponerlo dentro del Call
@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!
:OOO, soy un inepto xd, no se me ocurrio :S, muchas gracias por la ayuda Pitoloko
Saludos y gracias de nuevo ;D
¿No te funciona esto?
@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.
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
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
xD, pero como te digo, funciona, pero mas rapido. xD
Creo que esto también funcionaría
@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%
Cita de: Leo Gutiérrez. en 29 Junio 2011, 20:42 PM
Creo que esto también funcionaría
@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
Existe, pero se le habrá colado xD
http://unxutils.sourceforge.net/
EDITO: Solo funciona el link del mirror :rolleyes:
Ah, de acuerdo.