Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: FranciskoAsdf en 23 Noviembre 2009, 22:13 pm



Título: [Ayuda][Batch][Againu.u]Modficar Seguna Numero de Linea?
Publicado por: FranciskoAsdf en 23 Noviembre 2009, 22:13 pm
Hola soy yo de nuevo, y necesito su ayuda T_T!

En un post que hice hace poco preguntaba como saber el numero de linea en donde encontraba una coincidencia de texto, y gracias a su ayuda logré hacerlo,
me muestra el numero de linea donde encontró la coincidencia y el caracter que necesito reemplazar, pero es en esta parte donde tengo el problema, ya que después de leer el tema de "acciones sobre archivos de texto" (de Leo Guitierrez) encontré una pequeña función que me permite reemplazar la palabras por otras :), pero (siempre tiene que haber un pero u.u) no me reemplaza en la linea en que yo necesito que lo haga, sino que lo hace en todas :/.. por ejemplo:

Tengo un archivo que contiene las siguientes lineas de texto (solo pondré unas cuantas ya que son miles :B)

Código:
000145,       000145, 0,   2499, 0,000000,0,  5,  0,       0,1,0,0,KUCHEN MANZANA FAMILIAR,SUPER TOTTAL
000146,       000146, 0,      0, 0,000000,0,  5,  0,       0,1,0,0,KUCHEN MIGA (STROISSER),SUPER TOTTAL
000147,       000147, 0,   2990, 0,000000,0,  5,  0,       0,1,0,0,PIE DE LIMON FAMILIAR,SUPER TOTTAL
000148,       000148, 0,   2499, 0,000000,0,  5,  0,       0,1,0,0,KUCHEN DURAZNO SUPER TOT,SUPER TOTTAL

en donde lo que necesito reemplazar es los numeros 5 despues de la 7º "coma"

por ejemplo tomando las misma lineas anteriores si yo quisiese reemplazar el "5" del producto 000146
deberia quedar asi


Código:
000145,       000145, 0,   2499, 0,000000,0,  5,  0,       0,1,0,0,KUCHEN MANZANA FAMILIAR,SUPER TOTTAL
000146,       000146, 0,      0, 0,000000,0,  25,  0,       0,1,0,0,KUCHEN MIGA (STROISSER),SUPER TOTTAL
000147,       000147, 0,   2990, 0,000000,0,  5,  0,       0,1,0,0,PIE DE LIMON FAMILIAR,SUPER TOTTAL
000148,       000148, 0,   2499, 0,000000,0,  5,  0,       0,1,0,0,KUCHEN DURAZNO SUPER TOT,SUPER TOTTAL

pero cuando uso lo que llevo hasta ahora queda asi

Código:
000145,       000145, 0,   2499, 0,000000,0,  25,  0,       0,1,0,0,KUCHEN MANZANA FAMILIAR,SUPER TOTTAL
000146,       000146, 0,      0, 0,000000,0,  25,  0,       0,1,0,0,KUCHEN MIGA (STROISSER),SUPER TOTTAL
000147,       000147, 0,   2990, 0,000000,0,  25,  0,       0,1,0,0,PIE DE LIMON FAMILIAR,SUPER TOTTAL
000148,       000148, 0,   2499, 0,000000,0,  25,  0,       0,1,0,0,KUCHEN DURAZNO SUPER TOT,SUPER TOTTAL

Acá esta el código que llevo hasta el momento:

Código
  1. @echo off
  2. :: Encontrar PLU
  3. set /p plu=ingrese plu y wea :
  4.  
  5. For /F "Tokens=1,9 Delims=,[] skip=2" %%f In ('Find "%plu%" plu.txt /n') Do (
  6. Set "linea=%%f"
  7. Set "dato=%%g"
  8. REM echo.Numero de linea: %%f  -  Dato: %%g
  9. )
  10.  
  11. echo %linea%
  12. echo %dato%
  13.  
  14. echo reemplazando espere....
  15. setlocal enabledelayedexpansion
  16. for /f "tokens=* delims=" %%x in ('type plu.txt') do (
  17. set linea=%%x
  18. set linea=!linea:% style="color: #448888;">dato%=  25!
  19. call :show !linea!
  20. )
  21. :show
  22. echo %* >> SalidaPLU.txt
  23. goto:eof
  24.  

pero como les digo antes solo necesito que me reemplace el numero "5" por "25" a los códigos que yo le diga, osea, yo ingreso un PLU (la primera linea con numero por ej. 000145), encuentra el numero de linea en el que está el PLU y solo me reemplaza el 5 por el 25, pero como se darán cuenta no se como hacerlo T_T


si algún alma bondadosa me puede ayudar le estaré agradecido for ever *O*!!!


muchas gracias de ante mano y saludos.-


Título: Re: [Ayuda][Batch][Againu.u]Modficar Seguna Numero de Linea?
Publicado por: FranciskoAsdf en 25 Noviembre 2009, 15:34 pm
nadie sabe u.u?

porfa nito ayuda :(


Título: Re: [Ayuda][Batch][Againu.u]Modficar Seguna Numero de Linea?
Publicado por: leogtz en 25 Noviembre 2009, 16:49 pm
Disculpa, no he checado dudas porque ahora ando bastante ocupado con la escuela.


Título: Re: [Ayuda][Batch][Againu.u]Modficar Seguna Numero de Linea?
Publicado por: FranciskoAsdf en 25 Noviembre 2009, 20:07 pm
sigo esperando que algun alma caritativa me pueda ayudar  :-( :-( :-( :-(


Título: Re: [Ayuda][Batch][Againu.u]Modficar Seguna Numero de Linea?
Publicado por: FranciskoAsdf en 23 Diciembre 2009, 02:02 am
UP!  :-X

porfavor, de verdad que necesito la ayuda  :-( :-( :-( :-( :-( :-(