Мне нужно объединить два бинарных файла с помощью *.bat
скрипта на Windows.
Как я могу этого достичь?
windows
command-line
scripting
Артем Тихомиров
источник
источник
type
может заменить только частьcat
функциональности (из-за различия между двоичными и текстовыми файлами в Windows).Ответы:
type
Команда Windows работает аналогично UNIXcat
.Пример 1:
эквивалентно:
Пример 2:
Эта команда объединит все карты в одну.
источник
type file1 file2 > file3 2>NUL
Вы можете использовать
copy /b
как это:источник
type
изложенные в комментариях к принятому ответу ... если только это решение не имеет подобных недостатков, но недостаточно популярно, чтобы люди могли их заметить!Если у вас есть контроль над машиной, на которой вы выполняете свою работу, я настоятельно рекомендую установить GnuWin32 . Просто «Скачать все» и позвольте программе wget получить все пакеты. После этого вы получите доступ к cat, grep, find, gzip, tar, less и сотням других.
GnuWin32 - это одна из первых вещей, которую я устанавливаю на новую Windows-коробку.
источник
Бесстыдный плагин PowerShell (потому что я считаю, что кривая обучения - это боль, поэтому обучение чему-либо при любой возможности может помочь)
Обратите внимание, что
type
это псевдоним для Get-Content, поэтому, если он вам больше нравится, вы можете написать:источник
type file1 file2 > dest
и все было сделано в считанные секунды.'\n'
может быть заменен на'\r\n'
-Encoding UTF8
ничего не изменилосьПросто используйте команду dos copy с несколькими исходными файлами и одним целевым файлом.
Вам может понадобиться опция / B для двоичных файлов
источник
В выпуске Redstone 1 для Windows 10 Windows добавила настоящую подсистему Linux для ядра NTOS. Я думаю, что изначально он был предназначен для поддержки приложений Android, и, возможно, сценариев типа докера. Microsoft установила партнерские отношения с Canonical и добавила настоящую оболочку Bash. Также вы можете использовать менеджер пакетов apt для получения многих пакетов Ubuntu. Например, вы можете выполнить команду apt-get gcc, чтобы установить цепочку инструментов GCC, как это делается в Linux.
Если бы такая вещь существовала, когда я учился в университете, я думаю, что мог бы выполнить большинство моих заданий по программированию для Unix в собственной оболочке Windows bash.
источник
Если вы просто хотите добавить текст в конец существующего файла, вы можете использовать >> pipe. например:
источник
Если вам нужно использовать пакетный сценарий и установить Python, вот многоугольный ответ в пакетном и python:
Если сохранить как join.bat, будет:
Спасибо также этот ответ за вдохновение.
источник
Я пытаюсь присоединиться к архиву tar, который был разбит на сервере Linux.
И я обнаружил, что если я использую
type
в Windowscmd.exe
, это приведет к тому, что файл будет объединен в неправильном порядке (то естьtype
иногда сначала ставит XXXX.ad, а затем XXXX.ac, XXXX.aa и т. Д.)Итак, я нашел инструмент с именем
bat
в GitHub https://github.com/sharkdp/bat, который имеет сборку Windows и имеет лучшее выделение кода, и важно то, что он отлично работает на Windows, чтобы присоединиться к архиву tar!источник
Поэтому я искал похожее решение с возможностью сохранения символов EOL и обнаружил, что нет никакого способа, поэтому я делаю то, что умею лучше всего, и делаю свою собственную утилиту. Это исполняемый файл native cat для windows - https: // mega. пг / #! 6AVgwQhL! qJ1sxx-tLtpBkPIUx__iQDGKAIfmb21GHLFerhNoaWk
Я называю его sharp-cat, поскольку он построен на C #, не стесняйтесь сканировать его антивирусом, а исходный код будет доступен по запросу.
источник
У команды типа Windows есть проблемы, например, с символами Unicode на границе 512 байт. Попробуйте кошку Cygwin.
источник