Quiero hacer exactamente lo que hace unix "cat", pero en mi PC. ¿Hay un comando equivalente simple para la línea de comandos de Windows?
Específicamente, quiero crear un archivo a partir de todos los archivos de un tipo dado en una carpeta
En Unix:
cat *fna >all_fna_files.fna
(que une todos los archivos de texto ".fna" en un archivo de texto grande)
cat file.txt
Respuestas:
type
Funciona en
command.com
,cmd
y PowerShell (aunque en este último es un alias paraGet-Content
, por lo que escat
, por lo que podría usar cualquiera). Del artículo de Wikipedia (énfasis mío):fuente
type filename
me hace pensar que el comando debería devolver el tipo de archivo, ¡no el contenido del archivo!type
comando MS-DOS ?type
no concatena archivos; es solotype
su contenido en la pantalla. Es la tubería en el ejemplo que realmente combina los archivos, no eltype
comando.TYPE
de CP / M a través de QDOS. El comando TYPE muestra el contenido del archivo fuente ASCII ufn en el disco actualmente registrado en el dispositivo de la consola.Desde el shell de comandos:
(Pero eso sigue al uso del comando shells de control-Z como marcador de fin de archivo, por lo que no es adecuado en algunos casos).
En PowerShell:
y puede controlar (usando el
-Encoding
parámetro) la codificación del archivo (que permite la transcodificación usando diferentes codificaciones para la lectura y escritura).fuente
cat
aGet-Content
también. Está diseñado para aceptar muchos comandos básicos de Linux sin mucha modificación, si es que hay alguna.+
, así quecopy [/b] *.fna all_fna_files.fna
..Acabo de usar el comando cat en DOS (Windows 7 Pro) de la siguiente manera y fusioné con éxito 3 archivos (log1.txt, log2.txt, log3.txt) en un solo archivo:
Nota:
cat log*.txt > myBigLogFile2.txt
también proporcione el mismo resultado, pero anulará el archivo anterior.fuente
cat
comando en cmd y DOS, solocat
alias en powershelltype
comandotype *.txt > file.merge