Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: .:UND3R:. en 1 Julio 2011, 08:40 AM

Título: Duda con crear un batch que genere un .txt con números que incrementen
Publicado por: .:UND3R:. en 1 Julio 2011, 08:40 AM
Hola a todos tengo una duda no se me ocurre como hacerla

bueno me gustaría hacer un batch que se encargara de crear un documento .txt desde 00000000 hasta 99999999
no sé si se entiende bueno el *.txt debería quedar más menos así

Citar00000000
00000001
00000002
...
..
.
00333334
00333335
...
.
.
.
99999999

Será efectivo crearlo en batch? o me consumirá muchos recursos gracias :D
Título: Re: Duda con crear un batch que genere un .txt con números que incrementen
Publicado por: WaAYa HaCK en 1 Julio 2011, 10:01 AM
En batch será horrible! En Python o Perl, tienes una simple función llamada range que te hace un rango de números:

Código (python) [Seleccionar]
#!usr/bin/python
rango = range(000, 112, 001)
for i in rango:
   f = open("lista.txt", "a")
   f.write(i)
   f.write("\n")
   f.close()
raw_input()


Esto crearía un documento (o añadiría al final de uno existente) "lista.txt" con los números del 000 al 111:

0
1
2
3
....
109
110
111


Pero se te come los 0, así que no creo que te sirva. Entonces, deberías usar Perl:
Código (perl) [Seleccionar]
#!usr/bin/perl
my @rango = (001..111)

El problema es que no sé manejar archivos en Perl  :-[
Así que voy a buscarlo...

Saludos!
Título: Re: Duda con crear un batch que genere un .txt con números que incrementen
Publicado por: SuperDraco en 1 Julio 2011, 12:35 PM
Vaya, que fácil con python xD

Para hacerlo en batch me he tenido que comer un poco el coco xD, pero el resultado ha sido satisfactorio  :-*

Código (dos) [Seleccionar]


@echo off
Title=Foro.Elhacker.Net

REM By PiToLoKo
REM Foro.Elhacker.Net

Set Num=0
Set Celdas=0000000
echo %celdas%%num%>lista.txt


:Suma
Set /a Num+=1
call :Rango
goto :Suma


:Rango
if %num%==10 (Set celdas=000000)
if %num%==100 (Set celdas=00000)
if %num%==1000 (Set celdas=0000)
if %num%==10000 (Set celdas=000)
if %num%==100000 (Set celdas=00)
if %num%==1000000 (Set celdas=0)
if %num%==10000000 (Set celdas=)
if %num%==100000000 (Exit)

echo %celdas%%num%>>lista.txt
goto:eof



Eso si, tarda bastante, bueno, he añadido unas lineas en el código para comprobar cuanto tarda y mostrar como va en la pantalla, por si quieres hacer pruebas entre python y batch xD, aqui tienes la segunda version xD:

Código (dos) [Seleccionar]
@echo off
Title=Foro.Elhacker.Net

REM By PiToLoKo
REM Foro.Elhacker.Net

Set Start_Time=%time%
Set Num=0
Set Celdas=0000000
echo %celdas%%num%>lista.txt


:Suma
Set /a Num+=1
call :Rango
goto :Suma


:Rango
if %num%==10 (Set celdas=000000)
if %num%==100 (Set celdas=00000)
if %num%==1000 (Set celdas=0000)
if %num%==10000 (Set celdas=000)
if %num%==100000 (Set celdas=00)
if %num%==1000000 (Set celdas=0)
if %num%==10000000 (Set celdas=)
if %num%==100000000 (Goto :Fin)

echo %celdas%%num%
echo %celdas%%num%>>lista.txt
goto:eof

:Fin
Echo+ Hora de inicio "%Start_Time%">>lista.txt
Echo+ >>lista.txt
Echo+ Hora actual "%time%">>lista.txt
Exit


Saludos.


Título: Re: Duda con crear un batch que genere un .txt con números que incrementen
Publicado por: WaAYa HaCK en 1 Julio 2011, 15:33 PM
En Python es inmediato, pero... tu idea de las celdas también se puede implementar con Python. Voy a ver qué saco.

Saludos!
Título: Re: Duda con crear un batch que genere un .txt con números que incrementen
Publicado por: .:UND3R:. en 4 Julio 2011, 08:09 AM
 :o Que genial disculpen por la demora, se me había olvidado ver este trehad  :¬¬

Haré las pruebas muchas gracias WaAYa HaCK y pitoloko

Saludos