Я хочу сделать именно то, что делает unix "cat", но на моем ПК. Существует ли простая эквивалентная команда для командной строки Windows?
В частности, я хочу создать файл из всех файлов данного типа в папке
В Unix:
cat *fna >all_fna_files.fna
(который объединяет все текстовые файлы ".fna" в один большой текстовый файл)
cat file.txt
Ответы:
type
Он работает через
command.com
,cmd
и PowerShell (хотя в последнем случае это псевдонимGet-Content
, так и естьcat
, так что вы можете использовать либо). Из статьи Википедии (выделено мое):источник
type filename
заставляет меня думать, что команда должна возвращать тип файла, а не содержимое файла!type
??type
, не объединяет файлы; это простоtype
их содержимое на экран. Это пример в примере, который объединяет файлы, а неtype
команда.TYPE
от CP / M посредством QDOS. Команда TYPE отображает содержимое исходного файла ASCII ufn на текущем зарегистрированном диске на консольном устройстве.Из командной оболочки:
(Но это следует из командной оболочки, использующей control-Z в качестве маркера конца файла, поэтому в некоторых случаях не подходит).
В PowerShell:
и вы можете контролировать (используя
-Encoding
параметр) кодировку файла (которая позволяет транскодировать, используя разные кодировки для чтения и записи).источник
cat
вGet-Content
тоже. Он предназначен для принятия многих основных команд Linux без особых изменений, если таковые имеются.+
, так чтоcopy [/b] *.fna all_fna_files.fna
..Я только что использовал команду cat в DOS (Windows 7 Pro) следующим образом и успешно объединил 3 файла (log1.txt, log2.txt, log3.txt) в один файл:
Примечание:
cat log*.txt > myBigLogFile2.txt
также предоставьте тот же результат, но он заменит предыдущий файл.источник
cat
cmd и DOS нет команды, толькоcat
псевдоним в powershelltype
командуtype *.txt > file.merge