Je veux faire exactement ce que fait unix "cat", mais sur mon PC. Existe-t-il une simple commande é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 gros fichier texte)
type
Cela fonctionne avec command.com
, cmd
et PowerShell (bien que dans ce dernier, c'est un alias pour Get-Content
, donc cat
, vous pouvez donc utiliser l'un ou l'autre). De la article Wikipedia (souligné par moi):
En informatique, le type est une commande dans divers VMS. Les interpréteurs de ligne de commande AmigaDOS, CP/M, DOS, OS/2 et Microsoft Windows (shells) tels que COMMAND.COM, cmd.exe, 4DOS/4NT et Windows PowerShell. Il est utilisé pour afficher le contenu des fichiers spécifiés. C'est analogue à la commande 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
À partir de la commande Shell:
copy a.txt + b.txt + c.txt output.txt
(Mais cela suit la commande shell utilise control-Z comme marqueur de fin de fichier, donc non 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
) le codage du fichier (qui permet le transcodage en utilisant un codage différent pour la lecture et l’écriture).
Je viens d'utiliser la commande cat sous DOS (Windows 7 Pro) de la manière suivante et de fusionner avec succès 3 fichiers (log1.txt, log2.txt, log3.txt) dans un seul fichier:
cat log*.txt >> myBigLogFile.txt
Remarque: cat log*.txt > myBigLogFile2.txt
fournit également le même résultat, mais il remplacera le fichier précédent.