8 ответов:
Windows
typeкоманда работает аналогично UNIXcat.Пример 1:
type file1 file2 > file3равен:
cat file1 file2 > file3Пример 2:
type *.vcf > all_in_one.vcfэта команда объединит все vcards в один.
Если у вас есть контроль над машиной, где вы делаете свою работу, я настоятельно рекомендую установить 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