2012-09-09 32 views
12

Estoy ejecutando Windows 7 Ultimate x64, pero mi experiencia se remonta a DOS 3.0.Cómo anexar a un archivo usando el comando COPY

Desde DOS 3.1 como has sido capaz de adjuntar un archivo a otro con este uso del comando COPY:

COPY FILE1+FILE2=FILE1 

Hacer la necesidad de un FILE3 temporales innecesarios.

Era un comando muy conveniente ya que cada vez que agregaba un nuevo programa a menudo necesitaba actualizar sus archivos CONFIG.SYS y AUTOEXEC.BAT.

También solía ser que obtener la orden correcta era importante, de lo contrario terminaría con un ARCHIVO1 vacío.

Pero hoy, cuando he intentado, dejó FILE1 sin tocar, y cuando invirtió el orden, se hizo (comprensiblemente) FILE1 una copia de FILE2.

¿Alguien sabe si ha sido reemplazado con otro método y cuándo sucedió este cambio?

EDIT:

que he estado haciendo más pruebas, y por extraño que a pesar de que el código anterior no funciona, aún puede copiar alféizar de la consola y añadir que a un archivo existente como esto:

copy file1+con=file1 
Type some text to append to file1 
^Z ([CTRL]+Z the End Of File character) 

Me pregunto si mi versión de Windows está estropeada de alguna manera. ¿Puede un cuerpo replicar mis hallazgos?

EDIT:

Funciona en 95/98/ME/2000/XP/XP Mode/7 Professional x64/x64 8. Entonces me imagino que no es un problema 7 Ultimate x64, sino un problema con mi máquina.

* Sigh *

EDIT:

Última edición, lo prometo. :)

No fue un problema con mi máquina, fue un problema con File1. Al parecer, cuando por primera vez adjuntas archivo2 a él, el [CTRL] + Z (carácter EOF) nunca nos sobrescrito, haciendo que el archivo a tener este aspecto:

Original Data 
Original Data 
[EOF] 
Appended Data 
Appended Data 
Appended Data 

Puede duplicar este mismo con el siguiente experimento a partir de la símbolo del sistema.(¿Dónde^Z es el carácter [CTRL] + Z)

En el símbolo del sistema escriba:

copy con file1 
File One 
^Z^Z 

copy con file2 
File Two 
^Z 

copy con file3 
File Three 
^Z 

copy file1+file2=file1 

copy file2+file3=file2 

TYPE file1 
TYPE file2 

verá:

file1

File One 

file2

File Two 
File Three 

Puede type file2 >> file1 o usar casi cualquier otro método de concatenar archivos, y cuando ingrese file1, solo parecerá que contiene File One. PERO si usa para analizar el archivo, le mostrará lo que REALMENTE está sucediendo. En este tipo de caso:

FIND " " file1 

Y usted será recompensado con:

---------- FILE1 
File One 
→File Two 

Respuesta

23

Windows 8 x86:

 
Microsoft Windows [Version 6.2.9200] 
(c) 2012 Microsoft Corporation. All rights reserved. 

C:\Users\Nikos>echo foo>file1 

C:\Users\Nikos>echo bar>file2 

C:\Users\Nikos>copy /b file1 + file2 file1 
file1 
file2 
     1 file(s) copied. 

C:\Users\Nikos>type file1 
foo 
bar 
+0

Hmm. Eso es un mal augurio para mí. –

+0

¿Qué obtienes al copiar foo + bar = foo? – nikos1993pl

+1

Obtengo la versión original de foo. –

4

¿Qué hay de type file2 >> file1

+5

Eso no funcionará con archivos binarios. –

+0

@JamesK Nunca mencionaste "binario" en tu pregunta. ¿Qué es exactamente lo que quieres hacer entonces? –

+0

@EitanT - Me pregunto si esa funcionalidad ha desaparecido de Windows porque es más eficiente que cualquier otro método integrado de concatenación de archivos, texto O binario. –

1

¿Usted intentó copy /b file1 + file2 file1

+0

Sí. He intentado cada iteración en la que puedo pensar y todas las que he encontrado. –

1

copy /b input1 + input2 output
del input1
ren output input1
¿Quizás esto? : P

+0

Seguro, incluso 'copy/b file1 + file2 file3'' move file3 file1' funciona. No estoy tratando de reemplazar la funcionalidad, estoy tratando de descubrir si se eliminó del comando COPY (y cuándo), o si mi computadora está en mal estado. –

1
 
C:\Users\Nikos>type file1 
foo 
bar 

C:\Users\Nikos>copy file1+con=file1 
file1 
con 
ihdui 
ohisd 
^Z 
     1 file(s) copied. 

C:\Users\Nikos>type file1 
foo 
bar 
ihdui 
ohisd 
2

asegúrese de empezar con los archivos frescas que nunca trató de copiar.
me acaba de encontrar que en mi (XP SP3) copy a+b a sin /b anexa 1A (SUB) al final del archivo que hace nada después de desaparecer de salida del type (pero more lo mostrará). Copy /b a+b a funciona.

+0

Sí, pude confirmar que funciona en XP. Bueno, el modo XP de todos modos. –

2
@echo off 

cls 

type "file2.txt" >> "file1.txt" 

exit 
+0

por favor explícalo correctamente ... – Shivaay

-2
  1. poner todos los archivos en la misma carpeta.
  2. copy *.* ´target.ext'
  3. ????
  4. ¡Ganar!
1

¡Espera! ¡Hay más! (Win7 Pro)

>ver 

Microsoft Windows [Version 6.1.7601] 

>copy file.a.txt + file.b.txt file.ab.txt 
file.a.txt 
1 file(s) copied 

>copy fileA.txt + fileB.txt fileAB.txt 
fileA.txt 
fileB.txt 
1 files(s) copied 

Dejando de lado el "1 archivo (s) copiado" de notificación, simplemente no le gustan los archivos con nombres divertidos.

2

respuesta a: "¿Cómo Anexar a un archivo mediante el comando COPY"

ADVERTENCIA: Si usted tiene una lista de archivos que desea combinar a través de comando COPY, es simple pero potencialmente puede destruye tus archivos

manera peligrosa:

copy /b one + two + three - anexará contenido de "dos" y "tres" para el "uno" archivo. Entonces, el "uno" original ahora tiene contenidos de 3 archivos en la secuencia correcta. Si durante el proceso de copia las cosas salen mal, no tendrás forma de recuperar el "uno" original, ya que estará dañado y tus datos esencialmente se perderán. Casi nunca hay una razón para usar de esta manera.

manera segura:

copy /b one + two new_filename - combinará 2 archivos (se puede enumerar más de dos, por supuesto), la creación de un NEW_FILENAME que contiene "uno" y "dos" en la secuencia correcta, y dejando a los archivos originales intacto.

+0

Para mí, esta es la mejor solución hasta el momento. Quiero agregar un archivo de texto a otro. Este es el método más fácil: copia el archivo_destino nuevo_archivo anexa el archivo_nuevo en el archivo_destino –

+0

@DougNull Eso no funcionará en realidad. Si solo tiene 2 archivos como este: * copie File_1 File2 * lo que sucederá es que copiar no se agregará, creará una copia de File1 y le asignará el nombre File2. Si File2 existe, lo sobreescribirá. Actualicé mi respuesta al escenario de dos archivos – Emil

Cuestiones relacionadas