Есть ли замена для кошки на Windows



Мне нужно объединить два двоичных файла с *.bat скрипт на Windows.



Как я могу этого достичь?

556   8  

8 ответов:

Windows type команда работает аналогично UNIX cat.

Пример 1:

type file1 file2 > file3

равен:

cat file1 file2 > file3

Пример 2:

type  *.vcf > all_in_one.vcf  

эта команда объединит все vcards в один.

можно использовать copy /b такой:

copy /b file1+file2 destfile

Если у вас есть контроль над машиной, где вы делаете свою работу, я настоятельно рекомендую установить GnuWin32. Просто "загрузите все" и позвольте программе wget получить все пакеты. Затем у вас будет доступ к cat, grep, find, gzip, tar, less и сотням других.

GnuWin32-это одна из первых вещей, которые я устанавливаю в новом окне Windows.

бесстыдная вилка PowerShell (потому что я думаю, что кривая обучения-это боль, поэтому обучение чему-то при любой возможности может помочь)

Get-Content file1,file2

отметим, что type это псевдоним для Get-Content, так что если вам это нравится больше, вы можете написать:

type file1,file2

просто используйте команду копирования dos с несколькими исходными файлами и одним целевым файлом.

копировать файл1+файл2 appendedfile

вам может понадобиться параметр /B для двоичных файлов

в выпуске Windows 10 Redstone 1 Windows добавила настоящую подсистему Linux для ядра NTOS. Я думаю, что первоначально он был предназначен для поддержки Android-приложений и, возможно, сценариев типа docker. Microsoft сотрудничала с Canonical и добавила фактическую собственную оболочку bash. Кроме того, вы можете использовать диспетчер пакетов apt для получения многих пакетов Ubuntu. Например, вы можете сделать apt-get gcc для установки цепочки инструментов GCC, как и в случае с Linux.

Если бы такая вещь существовала, пока я был в университете я думаю, что мог бы выполнить большинство моих заданий по программированию Unix в родной оболочке Windows bash.

Если вы просто хотите добавить текст в конец существующего файла, вы можете использовать канал>>. например:

echo new text >>existingFile.txt

Если вам нужно использовать пакетный скрипт и установить python здесь polygot ответ в пакете и Python:

1>2# : ^
'''
@echo off
python "%~nx0" " %~nx1" "%~nx2" "%~nx3"
exit /b
rem ^
'''
import sys
import os

sys.argv = [argv.strip() for argv in sys.argv]
if len(sys.argv) != 4:
    sys.exit(1)

_, file_one, file_two, out_file = sys.argv

for file_name in [file_one, file_two]:
    if not os.path.isfile(file_name):
        print "Can't find: {0}".format(file_name)
        sys.exit(1)

if os.path.isfile(out_file):
    print "Output file exists and will be overwritten"

with open(out_file, "wb") as out:
    with open(file_one, "rb") as f1:
        out.write(f1.read())

    with open(file_two, "rb") as f2:
        out.write(f2.read())

Если сохранено как join.использование летучих мышей будет:

join.bat file_one.bin file_two.bin out_file.bin

спасибо тоже ответ для вдохновения.

Comments

    Ничего не найдено.