it-swarm.com.de

Was ist das Windows-Äquivalent zum Unix-Befehl cat? 

Ich möchte genau das tun, was Unix "cat" tut, aber auf meinem PC. Gibt es einen einfachen äquivalenten Befehl für die Windows-Befehlszeile?

Insbesondere möchte ich eine Datei aus allen Dateien eines bestimmten Typs in einem Ordner erstellen

In Unix:

cat *fna >all_fna_files.fna

(der alle ".fna" -Textdateien zu einer großen Textdatei zusammenfügt)

168
Kirt

type

Es funktioniert über command.com, cmd und PowerShell (obwohl es in letzterem ein Alias ​​für Get-Content ist, ist es auch cat, Sie können also auch eines verwenden). Aus dem Wikipedia-Artikel (Hervorhebung meiner):

Beim Rechnen ist type ein Befehl in verschiedenen VMS. AmigaDOS-, CP/M-, DOS-, OS/2- und Microsoft Windows-Befehlszeileninterpreter (Shells) wie COMMAND.COM, cmd.exe, 4DOS/4NT und Windows PowerShell. Es wird verwendet, um den Inhalt der angegebenen Dateien anzuzeigen. Es ist analog zum Unix-Befehl 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
211
ckhan

Aus der Befehls-Shell:

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

(Dies folgt jedoch aus dem Befehl shells, mit dem control-Z als Dateiendemarker verwendet wird. In einigen Fällen ist dies nicht geeignet.).

In PowerShell:

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

und Sie können (mit dem Parameter -Encoding) die Dateicodierung steuern (die die Transcodierung durch Verwendung unterschiedlicher Codierungen für Lesen und Schreiben ermöglicht).

21
Richard

Ich habe gerade den Befehl cat unter DOS (Windows 7 Pro) folgendermaßen verwendet und 3 Dateien (log1.txt, log2.txt, log3.txt) erfolgreich zu einer einzigen Datei zusammengefügt:

cat log*.txt >> myBigLogFile.txt 

Hinweis: cat log*.txt > myBigLogFile2.txt liefert ebenfalls das gleiche Ergebnis, überschreibt jedoch die vorherige Datei.

1
Heidi