O sinalizador /b
do comando copy
trata os arquivos como binários (ou seja, um fluxo bruto de bytes sem sentido) e os copia por byte em vez do comportamento padrão (ou /a
) que trata como linhas de texto (com caracteres de fim-de-linha, fim de arquivo, etc.)
Você pode mesclar arquivos de texto com o comportamento de texto padrão ou o comutador binário, mas praticamente nenhum arquivo binário qualquer não funcionará. Você não pode simplesmente copiar os bytes de dois arquivos binários e esperar que eles funcionem porque os arquivos binários geralmente têm cabeçalhos , metadados , estruturas de dados , etc., que definem o formato do arquivo. Se você fizer uma cópia binária, você estará simplesmente copiando todos os bytes como está, o que acaba colocando essas estruturas em lugares que elas não deveriam estar, então quando você as abre, a função de análise terá problemas e verá o que é essencialmente corrompido. . 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 criar 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 de nível de arquivo com algumas informações gerais, seguido de blocos de dados para cada página contendo os dados da página. Se você pegar dois arquivos, cada um contendo uma página e mesclá-los como arquivos binários, você não estará criando um arquivo de duas páginas, mas sim um arquivo corrompido que começa com uma página, 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 os seus MP3s. Quando você as combinou assim, as tags ID3 no início e / ou no final do segundo arquivo são mantidas, e quando o jogador tenta ler o próximo quadro, ele está esperando dados de áudio, mas está encontrando o cabeçalho do segundo arquivo que não corresponde ao formato esperado para dados de áudio, por isso não sabe o que fazer. Alguns jogadores jogam o cabeçalho como dados de áudio (que provavelmente serão reproduzidos como estáticos / barulhentos / pops / etc.), Alguns cortam o som até o próximo quadro correto, alguns podem parar de tocar a música e alguns podem até travar. .
O comando copy
não sabe nada sobre tipos de arquivo que não texto simples (e, mesmo assim, apenas texto ASCII), portanto, apenas texto simples pode ser combinado corretamente com ele. Os arquivos binários devem ser combinados usando um editor que saiba como analisar e interpretar o conteúdo corretamente.