El /b
indicador del copy
comando trata los archivos como binarios (es decir, un flujo sin procesar de bytes sin sentido) y los copia byte por byte en lugar del /a
comportamiento predeterminado (o el ) que los trata como líneas de texto (con final de línea caracteres, fin de archivo, etc.)
Puede fusionar archivos de texto con el comportamiento de texto predeterminado o el modificador binario, pero prácticamente ningún archivo binario no funcionará. No puede simplemente copiar los bytes de dos archivos binarios y esperar que funcionen porque los archivos binarios generalmente tienen encabezados , metadatos , estructuras de datos, etc. que definen el formato del archivo. Si hace una copia binaria, simplemente copiará todos los bytes tal como están, lo que termina colocando estas estructuras en lugares donde no deberían estar, por lo que cuando las abra, la función de análisis tendrá problemas y verá qué son datos esencialmente corruptos. . Algunos programas ignorarán las partes que no tienen sentido y simplemente mostrarán lo que pueden (lo que permite que funcione la estereografía), pero algunos arrojarán un error y se quejarán de que el archivo está dañado. La capacidad de detectar daños depende del tipo de archivo.
Como ejemplo, inventemos un formato PDF simplificado:
Byte(s) Meaning
---------------------
File header:
0-1 # of Pages
2-3 Language
4-5 Font
6-EOF Data (each page encoded separately)
Page data:
0-1 Page number
2-3 # of characters on page
4-#chars Letters contained on the page
Como puede ver, cada archivo contendrá un encabezado a nivel de archivo con información general, seguido de bloques de datos para cada página que contenga los datos de la página. Si luego toma dos archivos, cada uno con una página y los combina como archivos binarios, no creará un archivo de dos páginas, sino un archivo corrupto que comienza con una página y luego tiene un montón de basura (el archivo el encabezado no tiene sentido cuando el programa intenta leer la página dos).
Lo mismo sucede con tus MP3. Cuando los combina de esa manera, las etiquetas ID3 al comienzo y / o al final del segundo archivo se retienen, y cuando el reproductor intenta leer el siguiente cuadro, está esperando datos de audio, pero está encontrando el encabezado del segundo archivo que no coincide con el formato esperado para los datos de audio, por lo que no sabe qué hacer. Algunos reproductores reproducirán el encabezado como datos de audio (que probablemente se reproducirán como estático / ruido / pops / etc.), algunos cortarán el sonido hasta el siguiente cuadro correcto, algunos pueden dejar de reproducir la canción por completo, y algunos incluso pueden fallar .
El copy
comando no sabe nada sobre los tipos de archivos que no sean texto sin formato (e incluso entonces, solo texto ASCII), por lo que solo el texto sin formato se puede combinar correctamente con él. Los archivos binarios deben combinarse utilizando un editor que sepa cómo analizar e interpretar los contenidos correctamente.