2012-06-10 07:22:07 +0000 2012-06-10 07:22:07 +0000
224
224

Какой Windows эквивалент Unix-команды cat?

Я хочу делать именно то, что делает unix “cat”, но на моем ПК. Есть ли простой эквивалент команды для командной строки Windows?

Конкретно я хочу создать файл из всех файлов заданного типа в папке

В Unix:

cat *fna >all_fna_files.fna

(который объединяет все текстовые файлы “.fna” в один большой текстовый файл)

Ответы (3)

280
280
280
2012-06-10 07:47:35 +0000

type

Он работает через command.com, cmd, и PowerShell (хотя в последнем это псевдоним для Get-Content, так же как и для cat, так что вы могли бы использовать и его). Из статьи Википедия (выделено мной):

В вычислительной технике введите команду в различных VMS. AmigaDOS, CP/M, DOS, OS/2 и интерпретаторы командной строки Microsoft Windows, такие как COMMAND.COM, cmd.exe, 4DOS/4NT и Windows PowerShell. Он используется для отображения содержимого указанных файлов. Это аналогично команде cat Unix.

C:\>echo hi > a.txt
C:\>echo bye > b.txt
C:\>type a.txt b.txt > c.txt
C:\>type c.txt
hi
bye
```.
22
22
22
2012-06-10 07:33:20 +0000

Из командной оболочки:

copy a.txt + b.txt + c.txt output.txt

(Но это следует за использованием командной оболочкой controll-Z в качестве маркера конца файла, поэтому не подходит в некоторых случаях).

В PowerShell:

get-content a.txt,b.txt,c.txt | out-file output.txt

и вы можете управлять (используя параметр -Encoding) кодировкой файла (что позволяет перекодировать файл, используя различные кодировки для чтения и записи).

1
1
1
2015-03-20 13:41:46 +0000

Я только что использовал команду cat в DOS (Windows 7 Pro) следующим образом и успешно объединил 3 файла (log1.txt, log2.txt, log3.txt) в один файл:

cat log*.txt >> myBigLogFile.txt

Примечание: cat log*.txt > myBigLogFile2.txt также дает тот же результат, но он перекроет предыдущий файл.

Похожие вопросы

3
10
19
10
4