Foro de elhacker.net

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í

Citar
00000000
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
  1. #!usr/bin/python
  2. rango = range(000, 112, 001)
  3. for i in rango:
  4.    f = open("lista.txt", "a")
  5.    f.write(i)
  6.    f.write("\n")
  7.    f.close()
  8. 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:

Código:
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
  1. #!usr/bin/perl
  2. 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
  1.  
  2. @echo off
  3. Title=Foro.Elhacker.Net
  4.  
  5. REM By PiToLoKo
  6. REM Foro.Elhacker.Net
  7.  
  8. Set Num=0
  9. Set Celdas=0000000
  10. echo %celdas%%num%>lista.txt
  11.  
  12.  
  13. :Suma
  14. Set /a Num+=1
  15. call :Rango
  16. goto :Suma
  17.  
  18.  
  19. :Rango
  20. if %num%==10 (Set celdas=000000)
  21. if %num%==100 (Set celdas=00000)
  22. if %num%==1000 (Set celdas=0000)
  23. if %num%==10000 (Set celdas=000)
  24. if %num%==100000 (Set celdas=00)
  25. if %num%==1000000 (Set celdas=0)
  26. if %num%==10000000 (Set celdas=)
  27. if %num%==100000000 (Exit)
  28.  
  29. echo %celdas%%num%>>lista.txt
  30. goto:eof
  31.  
  32.  

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
  1. @echo off
  2. Title=Foro.Elhacker.Net
  3.  
  4. REM By PiToLoKo
  5. REM Foro.Elhacker.Net
  6.  
  7. Set Start_Time=%time%
  8. Set Num=0
  9. Set Celdas=0000000
  10. echo %celdas%%num%>lista.txt
  11.  
  12.  
  13. :Suma
  14. Set /a Num+=1
  15. call :Rango
  16. goto :Suma
  17.  
  18.  
  19. :Rango
  20. if %num%==10 (Set celdas=000000)
  21. if %num%==100 (Set celdas=00000)
  22. if %num%==1000 (Set celdas=0000)
  23. if %num%==10000 (Set celdas=000)
  24. if %num%==100000 (Set celdas=00)
  25. if %num%==1000000 (Set celdas=0)
  26. if %num%==10000000 (Set celdas=)
  27. if %num%==100000000 (Goto :Fin)
  28.  
  29. echo %celdas%%num%
  30. echo %celdas%%num%>>lista.txt
  31. goto:eof
  32.  
  33. :Fin
  34. Echo+ Hora de inicio "%Start_Time%">>lista.txt
  35. Echo+ >>lista.txt
  36. Echo+ Hora actual "%time%">>lista.txt
  37.  

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