Eu quero fazer exatamente o que o "gato" do unix faz, mas no meu PC. Existe um comando equivalente simples para a linha de comando do Windows?
Especificamente, quero criar um arquivo de todos os arquivos de um determinado tipo em uma pasta
No Unix:
cat *fna >all_fna_files.fna
(que une todos os arquivos de texto ".fna" em um grande arquivo de texto)
cat file.txt
Respostas:
type
Ele funciona através de
command.com
,cmd
e PowerShell (embora no último seja um alias paraGet-Content
, assim écat
, para que você possa usá-lo). Do artigo da Wikipedia (ênfase minha):fonte
type filename
me faz pensar que o comando deve retornar o tipo de arquivo, não o conteúdo do arquivo!type
comando do MS-DOS ?type
não concatena arquivos; apenastype
o conteúdo é exibido na tela. É a tubulação no exemplo que está realmente combinando os arquivos, não otype
comando.TYPE
do CP / M por meio do QDOS. O comando TYPE exibe o conteúdo do arquivo de origem ASCII ufn no disco atualmente registrado no dispositivo do console.No shell de comando:
(Mas isso segue o comando shells, use o controle-Z como um marcador de fim de arquivo, portanto, não é adequado em alguns casos).
No PowerShell:
e você pode controlar (usando o
-Encoding
parâmetro) a codificação do arquivo (que permite a transcodificação usando diferentes codificações para leitura e gravação).fonte
cat
paraGet-Content
também. Ele foi projetado para aceitar muitos comandos básicos do Linux sem muita modificação, se houver alguma.+
, por issocopy [/b] *.fna all_fna_files.fna
..Acabei de usar o comando cat no DOS (Windows 7 Pro) da seguinte maneira e mesclou com êxito 3 arquivos (log1.txt, log2.txt, log3.txt) em um único arquivo:
Nota:
cat log*.txt > myBigLogFile2.txt
também forneça o mesmo resultado, mas ele substituirá o arquivo anterior.fonte
cat
comando em ambos os cmd e DOS, únicacat
alias no powershelltype
comandotype *.txt > file.merge