Título: Bat para juntar 2 ficheros txt en 1 por lineas Publicado por: maschino2 en 21 Julio 2010, 17:33 pm Buenas
Estoy haciendo un bat que lee 2 ficheros txt distintos y escribe en otro mas uniendo la linea 1 de cada fichero. SI el fichero 1.txt tiene 1 2 3 4 5 Y el fichero a.txt tiene a b c d e lo que busco es generar un fichero que sea texto mio 1 texto mio a texto mio 2 texto mio b texto mio 3 texto mio c texto mio 4 texto mio d Consigo leer el fichero y darle el formato con un solo fichero usando un for /f %%I IN (1.txt) do pero no se como leer el segundo sin que se me duplique todo, ya que si lo meto otro for dentro, me lo duplica todo... He estado echando un vistazo por el foro, y he visto que separais en 2 ficheros uno, pero no unis por lineas... Me podriais echar una manita??? Gracias Título: Re: Bat para juntar 2 ficheros txt en 1 por lineas Publicado por: flony en 21 Julio 2010, 21:01 pm bueno como es costumbre te van a decir q no se hace trabajos....lo cual es verdad aunque suene chocante :-\ pero te doy unas ideas y las vas a tener que modificar como te guste a vos como son iguales te muestro para un txt y vos lo vas intercalando para 1.txt y a.txt para colmo va a ser modular la cosa xq es un poco complejo ;)
primero contar los renglones de 1.txt para saber cuando no queden mas renglones :laugh: Código: :variables Código: set var=%a% para adaptarlo te puede servir....pero leo es mas especialista en el trabajo de textos en bat ;D Título: Re: Bat para juntar 2 ficheros txt en 1 por lineas Publicado por: maschino2 en 22 Julio 2010, 07:54 am Lo primero de todo, gracias por la ayuda. Siempre es de agradecer que te echen una mano.
No busco el que me hagan el script, ya que ya le tengo casi hecho (a excepcion de ese pequeño gran detalle), pero no conseguia saber como pelearme con 2 ficheros a la vez (con uno si suelo) para generar un tercero... Probare a ver que consigo con lo que me dices a ver si consigo lo que quiero... Thank you... Título: Re: Bat para juntar 2 ficheros txt en 1 por lineas Publicado por: maschino2 en 22 Julio 2010, 09:00 am Otra pregunta rapida...
De un solo fichero de texto se podria guardar en un bucle for toda la linea por un lado y ldistintos tokens por otro??? Me explico.. si mi fichero es: pepito.1.verde.perro juanito.2.azul.gato Podria con un bucle for guardar en distintas variables por un lado la linea entera y por otro las variables separadas por el "." Podria ser algo asi? for /f %%linea in (1.txt) do ( for /f "tokens=1,2,3,4 delims=." %%A in (%%linea) do ( echo %%linea echo %%C echo %%B echo %%A ) ) No me funciona... pero no veo donde tengo el problema... (aparte del de no tener mucha idea, logicamente, jejjeje) Título: Re: Bat para juntar 2 ficheros txt en 1 por lineas Publicado por: flony en 22 Julio 2010, 14:47 pm a ver lo de hacer guardar la linea y que guarde cada palabra de la linea en variables distintas todo dentro del mismo "ciclo" por definirlo de alguna forma :rolleyes: me parece parecido a lo que intente hacer hace un tiempo :) es como trabajar con vectores y no se puede :-\ , podemos intentar simularlos :silbar: pero bue es no ...ahora como no hay que darse por vencido y se puede siempre buscar la vuelta
de ultima lee lo que hice y fijate si te sirve es una simulacion de un vector jajaja no es por hacer propaganda pero parece lo que queria hacer :silbar: http://foro.elhacker.net/scripting/vectores_solucionado-t297506.0.html (http://foro.elhacker.net/scripting/vectores_solucionado-t297506.0.html) che una cosita q vi en tu code para que salga en pantalla una variable es echo %variable% no echo %%variable Título: Re: Bat para juntar 2 ficheros txt en 1 por lineas Publicado por: leogtz en 22 Julio 2010, 17:31 pm Puedes guardar cada línea de los archivos en sus respectivos arrays, luego recorrerlos simultáneamente.
O crear un script en el que le indiques la línea que quieres mostrar y te la muestre, no debe de ser muy difícil. Título: Re: Bat para juntar 2 ficheros txt en 1 por lineas Publicado por: maschino2 en 23 Julio 2010, 07:48 am Muchas gracias a todos
Al final, la opcion que puse arriba si me funciono, con alguna modificacion... For /F %%A IN (imagenes.txt) DO ( for /F "tokens=1-7,8* delims=." %%a in ("%%A") do ( echo %%A echo %%a echo %%b echo %%c echo %%d echo %%e ) ) La opcion de usar 2 arrays no la conozco en batch, pero si me pudieras indicar como hacerlo estaria bien.. El hacerlo en perl con 2 arrays (que hubiera sido lo mas sencillo me imagino) no era una opcion, ya que la ejecucion va sobre win y tendria que meterselo a las maquinas donde se ejecuta el local (opcion no viable) Muchas gracias a todos por la ayuda Por cierto, a alguno se le ocurre como eliminar las lineas duplicadas de un TXT quitandole antes los caracteres a partir de un caracter?? E intentado jugar de nuevo con 2 bucles, pero en la comparacion solo consigo o dejarlo como esta, o duplicar mas lineas... |