Preciso juntar dois arquivos binários com um *.bat
script no Windows.
Como posso conseguir isso?
windows
command-line
scripting
Artem Tikhomirov
fonte
fonte
type
pode substituir apenas parte dacat
funcionalidade (devido à distinção entre arquivos binários e arquivos de texto no Windows).Respostas:
O
type
comando do Windows funciona de maneira semelhante ao UNIXcat
.Exemplo 1:
é equivalente a:
Exemplo 2:
Este comando mesclará todos os cartões em um.
fonte
type file1 file2 > file3 2>NUL
Você pode usar
copy /b
assim:fonte
type
descritos nos comentários sobre a resposta aceita ... a menos que essa solução tenha desvantagens semelhantes, mas não seja popular o suficiente para que as pessoas as notem!Se você tem controle sobre a máquina onde está realizando seu trabalho, eu recomendo instalar o GnuWin32 . Apenas "Download All" e deixe o programa wget recuperar todos os pacotes. Você terá acesso a cat, grep, find, gzip, tar, less e centenas de outros.
O GnuWin32 é uma das primeiras coisas que instalo em uma nova caixa do Windows.
fonte
Plug Shameless PowerShell (porque eu acho que a curva de aprendizado é uma dor, então ensinar algo em qualquer oportunidade pode ajudar)
Observe que
type
é um alias para Get-Content; portanto, se você gosta mais, pode escrever:fonte
type file1 file2 > dest
e cada um foi feito em segundos.'\n'
pode ser substituído por'\r\n'
-Encoding UTF8
não mudou nada.Basta usar o comando dos copy com vários arquivos de origem e um arquivo de destino.
Você pode precisar da opção / B para arquivos binários
fonte
Na versão Redstone 1 do Windows 10, o Windows adicionou um subsistema Linux real para o kernel NTOS. Penso que originalmente se destinava a suportar aplicativos Android, e talvez cenários do tipo docker. A Microsoft fez parceria com a Canonical e adicionou um shell bash nativo real. Além disso, você pode usar o gerenciador de pacotes apt para obter muitos pacotes do Ubuntu. Por exemplo, você pode executar o apt-get gcc para instalar a cadeia de ferramentas GCC como faria em uma caixa do Linux.
Se isso existisse enquanto eu estava na universidade, acho que poderia ter feito a maioria das minhas tarefas de programação Unix no shell nativo do Windows.
fonte
Se você simplesmente deseja acrescentar texto ao final do arquivo existente, pode usar o pipe >>. ex:
fonte
Se você precisar usar um script em lote e instalar o python aqui, há uma resposta poligota no lote e no python:
Se salvo como join.bat, o uso seria:
Obrigado também esta resposta pela inspiração.
fonte
Eu tento reunir novamente o arquivo tar que foi dividido em um servidor Linux.
E eu descobri que se eu usar
type
no Windowscmd.exe
, ele fará com que o arquivo seja unido na ordem errada. (type
Ou seja, às vezes, coloca XXXX.ad primeiro e depois XXXX.ac, XXXX.aa etc ...)Então, eu encontrei uma ferramenta nomeada
bat
no GitHub https://github.com/sharkdp/bat que tem uma compilação do Windows, e tem melhor código destacado e o importante é que ela funciona bem no Windows para voltar ao arquivo tar!fonte
Então, eu estava procurando uma solução semelhante com a capacidade de preservar os caracteres EOL e descobri que não havia maneira, então eu faço o que faço melhor e criei minha própria utilidade. Este é um gato nativo executável para windows - https: // mega. nz / #! 6AVgwQhL! qJ1sxx-tLtpBkPIUx__iQDGKAIfmb21GHLFerhNoaWk
Eu o chamo de sharp-cat, pois é construído com C #, sinta-se à vontade para digitalizar com um antivírus e o código-fonte será disponibilizado mediante solicitação
fonte
O comando de tipo do Windows tem problemas, por exemplo, com caracteres Unicode no limite de 512 bytes. Tente o gato de Cygwin.
fonte