O /bsinalizador do copycomando trata os arquivos como binários (isto é, um fluxo bruto de bytes sem sentido) e os copia byte por byte, em vez do /acomportamento padrão (ou ) que os trata como linhas de texto (com final de linha caracteres, fim de arquivo etc.)
Você pode mesclar arquivos de texto com o comportamento de texto padrão ou a opção binária, mas praticamente qualquer arquivo binário não funcionará. Você não pode simplesmente copiar os bytes de dois arquivos binários e esperar que funcionem porque os arquivos binários geralmente têm cabeçalhos , metadados , estruturas de dadosetc. que definem o formato do arquivo. Se você fizer uma cópia binária, simplesmente copiará todos os bytes, como está, o que acaba colocando essas estruturas em locais que não deveriam estar; portanto, quando você as abre, a função de análise terá problemas e verá o que é essencialmente dados corrompidos. . Alguns programas ignoram as partes que não fazem sentido e simplesmente mostram o que podem (o que permite que a estereografia funcione), mas alguns lançam um erro e reclamam que o arquivo está corrompido. A capacidade de detectar corrupção depende do tipo de arquivo.
Como exemplo, vamos inventar um 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 você pode ver, cada arquivo conterá um cabeçalho no nível do arquivo com algumas informações gerais, seguidas por blocos de dados para cada página que contém os dados da página. Se você pegar dois arquivos, cada um contendo uma página, e os mesclar como arquivos binários, não criará um arquivo de duas páginas, mas sim um arquivo corrompido que começa com uma página e então tem um monte de lixo (o arquivo cabeçalho não faz sentido quando o programa tenta ler a página dois).
O mesmo acontece com seus MP3s. Quando você as combina dessa maneira, as tags ID3 no início e / ou no final do segundo arquivo são mantidas e, quando o player tenta ler o próximo quadro, espera dados de áudio, mas encontra o cabeçalho do segundo arquivo que não corresponde ao formato esperado para os dados de áudio e, portanto, não sabe o que fazer. Alguns jogadores tocam o cabeçalho como dados de áudio (que provavelmente tocam como estático / ruído / pop / etc.), Outros cortam o som até o próximo quadro correto, outros podem parar de tocar a música e outros podem até travar .
O copycomando não sabe nada sobre tipos de arquivo além de texto sem formatação (e mesmo assim, apenas texto ASCII); portanto, apenas texto sem formatação pode ser combinado corretamente com ele. Os arquivos binários devem ser combinados usando um editor que saiba analisar e interpretar o conteúdo corretamente.