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

Quel est l'équivalent Windows du chat de commande Unix ?

Je veux faire exactement ce que fait le “chat” unix, mais sur mon PC. Existe-t-il une commande simple équivalente pour la ligne de commande Windows ?

Plus précisément, je veux créer un fichier à partir de tous les fichiers d'un type donné dans un dossier

Sous Unix :

cat *fna >all_fna_files.fna

(qui réunit tous les fichiers texte “.fna” en un seul gros fichier texte)

Réponses (3)

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

type

Il fonctionne à travers command.com, cmd, et PowerShell (bien que dans ce dernier, c'est un alias pour Get-Content, tout comme cat, donc vous pouvez utiliser l'un ou l'autre). Extrait de l'article de Wikipedia (c'est moi qui souligne) :

En informatique, le type est une commande dans divers VMS. AmigaDOS, CP/M, DOS, OS/2 et les interpréteurs de ligne de commande (shells) de Microsoft Windows tels que COMMAND.COM, cmd.exe, 4DOS/4NT et Windows PowerShell. Il est utilisé pour afficher le contenu de fichiers spécifiques. Il est analogue à la commande du chat 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

Depuis l'interpréteur de commandes :

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

(Mais cela suit l'utilisation de control-Z comme marqueur de fin de fichier, donc pas approprié dans certains cas).

Dans PowerShell :

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

et vous pouvez contrôler (en utilisant le paramètre -Encoding) l'encodage du fichier (qui permet le transcodage en utilisant un encodage différent pour la lecture et l'écriture).

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

Je viens d'utiliser la commande cat sous DOS (Windows 7 Pro) de la manière suivante et j'ai réussi à fusionner 3 fichiers (log1.txt, log2.txt, log3.txt) en un seul fichier :

cat log*.txt >> myBigLogFile.txt

Note : cat log*.txt > myBigLogFile2.txt donne également le même résultat, mais il remplacera le fichier précédent.