Ayuda con FOR

Iniciado por thexmachine, 12 Mayo 2015, 17:05 PM

0 Miembros y 1 Visitante están viendo este tema.

thexmachine

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

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

Eleкtro

#1
¿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 (dos) [Seleccionar]
@Echo OFF

Set "fileA=1.txt"
Set "fileB=2.txt"

For /F "Tokens=1,* Delims=," %%a In ('Type "%fileA%" ^| Sort') Do (
Call :InnerLoop
)

Pause&Exit /B 0

:InnerLoop
For /F "Tokens=1,* Delims=," %%A In ('Type "%fileB%" ^| Sort') Do (
If "%%~a" EQU "%%~A" (
Echo %%~a,%%~b,%%~B
Exit /B 0 :: Break.
)
)


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!








thexmachine

#2
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.

Eleкtro

#3
Cita de: thexmachine en 12 Mayo 2015, 17:38 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!