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

Jaki jest Windowsowy odpowiednik komendy uniksowej "cat"?

Chcę zrobić dokładnie to, co robi uniksowy “cat”, ale na moim komputerze. Czy istnieje prosty odpowiednik dla linii poleceń Windows?

Chcę stworzyć plik z wszystkich plików danego typu w folderze

W Uniksie:

cat *fna >all_fna_files.fna

(który łączy wszystkie pliki tekstowe “.fna” w jeden duży plik tekstowy)

Odpowiedzi (3)

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

type

It works across command.com, cmd, and PowerShell (though in the latter it’s an alias for Get-Content, so is cat, so you could use either). Z Wikipedii artykuł (kopalnia akcentów):

In computing, type jest komendą w różnych VMS. AmigaDOS, CP/M, DOS, OS/2 i interpretery wiersza poleceń Microsoft Windows (powłoki), takie jak COMMAND.COM, cmd.exe, 4DOS/4NT i Windows PowerShell. Jest on używany do wyświetlania zawartości określonych plików. Jest ona analogiczna do komendy Unix cat.

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

Z powłoki poleceń:

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

(Ale to następuje po użyciu przez powłoki poleceń Control-Z jako znacznika końca pliku, więc w niektórych przypadkach nie nadaje się).

W PowerShell:

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

i można kontrolować (za pomocą parametru -Encoding) kodowanie plików (co pozwala na transkodowanie przy użyciu innego kodowania do odczytu i zapisu).

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

Właśnie użyłem polecenia cat w DOS-ie (Windows 7 Pro) w następujący sposób i z powodzeniem połączyłem 3 pliki (log1.txt, log2.txt, log3.txt) w jeden plik:

cat log*.txt >> myBigLogFile.txt

Uwaga: cat log*.txt > myBigLogFile2.txt również daje ten sam wynik, ale zastąpi poprzedni plik.