Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: thexmachine en 12 Mayo 2015, 17:05 pm



Título: Ayuda con FOR
Publicado por: thexmachine en 12 Mayo 2015, 17:05 pm
Hola tengo una pregunta que alguien me ayude

Tengo un txt con a1.txt
1212,6777
1342,6767
3453,3456
3453,4743

Tengo otro con txt a2.txt
1342,BBBB
3453,DDDD
3453,CCCC
1212,AAAA

Quiero que buscan lotes 2 archivos y de impresión
result.txt
1212,6777,AAAA
1342,6767,BBBB
3453,3456,CCCC
3453,4743,DDDD

Vine a este, pero no funciona, alguien me ayude

Código:
FOR /F "tokens=1,2,3,4,5,6,7,8 delims=," %%A IN (A1.txt) DO  find /i "%%A" A2.TXT %%D,%%B,%%A >> result.txt


Título: Re: Ayuda con FOR
Publicado por: Eleкtro en 12 Mayo 2015, 17:22 pm
¿y cuales son las condiciones para relacionar los dos 3453?, no parece que se basen en el orden de las lineas, por lo tanto... ¿se pueden relacionar realmente?, si formulas una pregunta sobre programación, intenta dar dellates específicos del problema que tnegas, y sobre todo de lo que estás intnetando hacer y cual debería ser el resultado de ejecución.

Puedes empezar por un ejemplo cómo este, al que habría que añadirle las modificaciones que veas necesarias para poder relacionar correctamente los 3453:

Código
  1. @Echo OFF
  2.  
  3. Set "fileA=1.txt"
  4. Set "fileB=2.txt"
  5.  
  6. For /F "Tokens=1,* Delims=," %%a In ('Type "%fileA%" ^| Sort') Do (
  7. Call :InnerLoop
  8. )
  9.  
  10. Pause&Exit /B 0
  11.  
  12. :InnerLoop
  13. For /F "Tokens=1,* Delims=," %%A In ('Type "%fileB%" ^| Sort') Do (
  14. If "%%~a" EQU "%%~A" (
  15. Echo %%~a,%%~b,%%~B
  16. Exit /B 0 :: Break.
  17. )
  18. )

De todas formas, por lo que puedes ver, Batch es el lenguaje más ineficiente para ese tipo de tareas.
PD: Ten cuidado con la recursividad.

Saludos!


Título: Re: Ayuda con FOR
Publicado por: thexmachine en 12 Mayo 2015, 17:38 pm
lo siento, pero no duplica los datos
cometido un error de mecanografía

Tengo un txt con a1.txt
1212,6777
1342,6767
3453,3456
3451,4743

Tengo otro con txt a2.txt
1342,BBBB
3453,DDDD
3451,CCCC
1212,AAAA

Quiero que buscan lotes 2 archivos y de impresión
result.txt
1212,6777,AAAA
1342,6767,BBBB
3453,3456,DDDD
3451,4743,CCCC



muchas gracias
Te debo una cerveza

[MOD]: Porfavor, no hagas doble post, está prohibido.


Título: Re: Ayuda con FOR
Publicado por: Eleкtro en 12 Mayo 2015, 17:43 pm
lo siento, pero no duplica los datos
cometido un error de mecanografía

No pasa nada, pero menos mal que era un error, ya me parecía a mi una tarea imposible xD.

Sabiendo eso, entonces el código que te mostré en el comentario de arriba si que debe producir el resultado de ejecución que deseas.

Bueno en realidad no del todo, si el orden de las lineas importa entonces simplemente elimina lo siguiente que he tachado: 'Type "%fileX%" ^| Sort', en ambos FOR.

Saludos!