/b
Флаг из copy
команды лечит файлы в двоичном виде (т.е. сырой поток бессмысленных байт), и копирует их байт в байт , а не по умолчанию (или /a
) поведение , которое рассматривает их как строки текста (с конца-строки символы, конец файла и т. д.)
Вы можете объединить текстовые файлы либо с текстовым поведением по умолчанию, либо с двоичным переключателем, но практически любой двоичный файл не будет работать. Вы не можете просто скопировать байты из двух двоичных файлов и ожидать, что они будут работать, потому что двоичные файлы обычно имеют заголовки , метаданные , структуры данныхи т. д., которые определяют формат файла. Если вы делаете двоичную копию, вы просто будете копировать все байты, как есть, что в итоге приведет к тому, что эти структуры будут размещены в местах, которых не должно быть, поэтому, когда вы откроете их, у функции синтаксического анализа возникнут проблемы, и вы увидите, что по сути поврежденные данные , Некоторые программы игнорируют те части, которые не имеют смысла, и просто показывают, что они могут (что позволяет работать стереография), но некоторые выдают ошибку и жалуются, что файл поврежден. Способность обнаружить повреждение зависит от типа файла.
В качестве примера, давайте изобретем упрощенный формат PDF:
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
Как видите, каждый файл будет содержать заголовок на уровне файла с некоторой общей информацией, за которой следуют блоки данных для каждой страницы, содержащей данные страницы. Если затем вы берете два файла, каждый из которых содержит одну страницу, и объединяете их в двоичные файлы, вы не будете создавать один двухстраничный файл, а вместо этого один поврежденный файл, который начинается с одной страницы, а затем содержит кучу мусора (файл заголовок не имеет смысла, когда программа пытается прочитать вторую страницу).
То же самое происходит с вашими MP3. Когда вы их так скомбинируете, теги ID3 в начале и / или конце второго файла сохраняются, а когда игрок пытается прочитать следующий кадр, он ожидает аудиоданные, но находит заголовок второй файл, который не соответствует ожидаемому формату для аудиоданных, поэтому он не знает, что делать. Некоторые проигрыватели будут воспроизводить заголовок как аудиоданные (которые, вероятно, будут воспроизводиться как статичные / шумовые / попсовые / и т. Д.), Некоторые будут обрезать звук до следующего правильного кадра, некоторые могут вообще прекратить воспроизведение песни, а некоторые могут даже вылететь. ,
Команда copy
ничего не знает о типах файлов, кроме обычного текста (и даже тогда, только текста ASCII), поэтому только простой текст может быть правильно скомбинирован с ним. Двоичные файлы должны быть объединены с помощью редактора, который знает, как правильно анализировать и интерпретировать содержимое.