Hola amigos,
Mi duda es la siguiente: Ya en un hilo anterior habia comentado que tengo en el server un .bat "unir.bat" el cual me une varios archivos .txt y como resultado optengo el archivo total.txt
Algo como esto
10.txt
21.txt
31.txt
41.txt
51.txt
unir.bat
Donde mi archivo unir.bat contiene el siguiente comando:
@Echo OFF
PUSHD "%~DP0"
copy "*.txt" "total.txt"
POPD
Exit
El resultado que tengo en total.txt es:
linea1
linea2
linea3
linea4
linea5
...
lineax
Que debo hacer para que luego de la ultima linea no me coloque ese caracter especial que no pude pegar pero es un cuadro pequeño al final del todo.
Agradezco su gran ayuda. Un saludo.
Copy /B "*.txt" "Total.txt"
PD: Deberías lere la ayuda de los comandos, Te servirá de ayuda.
Copy /?
Salu2
Gracias EleKtro H@cker
No tenia idea de la utilidad de /B, tan solo que debo unirlos manteniendo un orden he puesto lo siguiente y ya no tengo el resultado esperado
@Echo OFF
PUSHD "%~DP0"
copy /b "1.txt + 2.txt + 3.txt + 4.txt + 5.txt + 6.txt" " total.txt"
Exit
Tienes idea de lo que tengo mal, he intentado sin comillas y sigo igual.
Un saludo
El comando sería así:
copy /b "1.txt" + "2.txt" + "3.txt" + "4.txt" + "5.txt" + "6.txt" "total.txt"
(No importa con o sin comillas, Mientras los nombres de archivo no contengan espacios en el nombre)
Pero no especificas cual es el problema con el resultado que obtienes...
Si lo que quieres es añadir un espacio para que no se "pegue" al final de la línea de cada texto, puedes hacer esto:
Echo+ >tmp & Echo+ >>tmp
copy /b "1.txt" + tmp + "2.txt" + tmp + "3.txt" + tmp + "4.txt" + tmp + "5.txt" + tmp + "6.txt" "total.txt"
Del tmp >NUL
Gracias,
Tal como te describi, no me arrobaja el esperado total.txt, ahora si que lo arroja.
Te agradezco, puedes cerrar el hilo
Hola a todos, el copy /b funciona para archivos .txt con formato ANSI pero cuando son UTF8 el símbolo del cuadrado sigue apareciendo en medio de la unión de los dos txt.
He intendado usando el Copy /A (ascii) pero tampoco funciona, alguna idea para solucionarlo usando archivos UTF8?
Gracias de antemano.
Cita de: cassiel83 en 20 Marzo 2012, 17:44 PM
copy /b funciona para formato ANSI pero cuando son UTF8 el símbolo del cuadrado sigue apareciendo
Hola
cassiel83Acabo de probar "
Copy /B" con 3 archivos .txt con codificación
utf-8 guardados desde el bloc de notas, y funciona a la perfección.
¿Lo has probado en Windows 7?
¿Estás seguro que el formato que estás usando es UTF-8?
EDITO: De todas formas si estás seguro que en tu caso por lo que séa no funciona, Puedes probar la utilidad
COMBINE.exe Que también me ha funcionado.
http://www.gammadyne.com/cmdline.htm#combine
La manera de usarla es la siguiente:
combine Test.txt "*.txt"
No tiene muchas opciones pero a mi no me han hecho falta
Citar
COMBINE [/a] [/lb] [/nolist] [/nologo] [/nosum] [/s] target file1 file2 ...
Switches:
/a Do not overwrite the existing contents of the target file. Instead, append to the end of the target file.
/lb Before a source file is added to the target file, a line-break will be added to the end of the target file if one is not already present.
/nolist Do not list each file.
/nologo Do not display the program banner.
/nosum Do not display the operation summary.
/s Recursively enter subdirectories.
Hola Elektro Hacker, gracias por contestar, estoy probando el comando en xp sp3, de hecho lo he vuelto a hacer con archivos pequeños que acabo de crear y los guardo en formato UTF8, el archivo resultante es tambien un UTF8 pero sigue el problema del simbolo cuadrado en la union de los archivos. Probare esta noche en casa ya que en la oficina no tenemos windows 7.
Hola nuevamente como habias dicho lo he probado en windows 7 y si que funciona, los archivos son UTF8 y el archivo resultante es tambien UTF8 parece ser que en windows xp no funciona.
Cita de: cassiel83 en 21 Marzo 2012, 20:13 PM
parece ser que en windows xp no funciona.
No creo que haya solución en tu caso.
Si no tuvieras el SP3, Quizás actualizando al SP3 se actualize esa función interna de la CMD...
Saludos
Saludos;
He heredado el siguiente script:
copy /y blancos\*.TXT .
copy CM.txt + C:\carp1\Emp1\20150908\CM.txt CM.txt
copy GL.txt + C:\carp1\Emp1\20150908\GL.txt GL.txt
copy IMP6000.txt + C:\carp1\Emp1\20150908\IMP6000.txt IMP6000.txt
copy IMP6001.txt + C:\carp1\Emp1\20150908\IMP6001.txt IMP6001.txt
copy IMP6002.txt + C:\carp1\Emp1\20150908\IMP6002.txt IMP6002.txt
copy IMP6003.txt + C:\carp1\Emp1\20150908\IMP6003.txt IMP6003.txt
copy CM.txt + C:\carp1\Emp1\20150909\CM.txt CM.txt
copy GL.txt + C:\carp1\Emp1\20150909\GL.txt GL.txt
copy IMP6000.txt + C:\carp1\Emp1\20150909\IMP6000.txt IMP6000.txt
copy IMP6001.txt + C:\carp1\Emp1\20150909\IMP6001.txt IMP6001.txt
copy IMP6002.txt + C:\carp1\Emp1\20150909\IMP6002.txt IMP6002.txt
copy IMP6003.txt + C:\carp1\Emp1\20150909\IMP6003.txt IMP6003.txt
copy CM.txt + C:\carp1\Emp1\20150910\CM.txt CM.txt
copy GL.txt + C:\carp1\Emp1\20150910\GL.txt GL.txt
copy IMP6000.txt + C:\carp1\Emp1\20150910\IMP6000.txt IMP6000.txt
copy IMP6001.txt + C:\carp1\Emp1\20150910\IMP6001.txt IMP6001.txt
copy IMP6002.txt + C:\carp1\Emp1\20150910\IMP6002.txt IMP6002.txt
copy IMP6003.txt + C:\carp1\Emp1\20150910\IMP6003.txt IMP6003.txt
copy CM.txt + C:\carp1\Emp1\20150911\CM.txt CM.txt
copy GL.txt + C:\carp1\Emp1\20150911\GL.txt GL.txt
copy IMP6000.txt + C:\carp1\Emp1\20150911\IMP6000.txt IMP6000.txt
copy IMP6001.txt + C:\carp1\Emp1\20150911\IMP6001.txt IMP6001.txt
copy IMP6002.txt + C:\carp1\Emp1\20150911\IMP6002.txt IMP6002.txt
copy IMP6003.txt + C:\carp1\Emp1\20150911\IMP6003.txt IMP6003.txt
copy CM.txt + C:\carp1\Emp1\20150912\CM.txt CM.txt
copy GL.txt + C:\carp1\Emp1\20150912\GL.txt GL.txt
copy IMP6000.txt + C:\carp1\Emp1\20150912\IMP6000.txt IMP6000.txt
copy IMP6001.txt + C:\carp1\Emp1\20150912\IMP6001.txt IMP6001.txt
copy IMP6002.txt + C:\carp1\Emp1\20150912\IMP6002.txt IMP6002.txt
copy IMP6003.txt + C:\carp1\Emp1\20150912\IMP6003.txt IMP6003.txt
Como pueden ver la variable "carp1"; "Emp1" son constantes pero la carpeta siguiente corresponde a los días del mes.
La idea es como hago para que cuando ejecuto el script le pase por parámetro el nombre de la Empresa y haga un recorrido por las carpetas que y vaya haciendo la copia hasta que consiga la ultima carpeta.
Desde ya mil gracias....