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

Wat is het Windows equivalent van het Unix commando cat?

Ik wil precies doen wat unix “cat” doet, maar dan op mijn PC. Is er een eenvoudig equivalent commando voor de Windows commandoregel?

Specifiek wil ik een bestand maken van alle bestanden van een bepaald type in een map

In Unix:

cat *fna >all_fna_files.fna

(die alle “.fna” tekstbestanden samenvoegt tot één groot tekstbestand)

Antwoorden (3)

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

type

Het werkt over command.com, cmd, en PowerShell (hoewel het in het laatste geval een alias is voor Get-Content, dus is cat, dus je zou een van beide kunnen gebruiken). Uit het Wikipedia-artikel (nadruk op mij):

In de informatica is het type een commando in verschillende VMS. AmigaDOS, CP/M, DOS, OS/2 en Microsoft Windows commandoregelinterpretatoren (shells) zoals COMMAND.COM, cmd.exe, 4DOS/4NT en Windows PowerShell. Het wordt gebruikt om de inhoud van gespecificeerde bestanden weer te geven. Het is analoog aan het Unix cat commando.

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

Vanuit de commandoshell:

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

(Maar dat volgt op de commandoshells gebruik van control-Z als een einde van file marker, dus niet geschikt in sommige gevallen).

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

en je kunt de bestandscodering (met behulp van -Encoding parameter) controleren (wat transcodering mogelijk maakt door verschillende coderingen te gebruiken voor het lezen en schrijven).

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

Ik heb zojuist het cat commando in DOS (Windows 7 Pro) op de volgende manier gebruikt en met succes 3 bestanden (log1.txt, log2.txt, log3.txt) samengevoegd tot één bestand:

cat log*.txt >> myBigLogFile.txt

Opmerking: cat log*.txt > myBigLogFile2.txt geven ook hetzelfde resultaat, maar het zal het vorige bestand opheffen.