Necesito unir dos archivos binarios con un *.batscript en Windows.
¿Cómo puedo lograr eso?
windows
command-line
scripting
Artem Tikhomirov
fuente
fuente

typepuede reemplazar solo una parte decatla funcionalidad de (debido a la distinción entre archivos binarios y de texto en Windows).Respuestas:
El
typecomando de Windows funciona de manera similar a UNIXcat.Ejemplo 1:
es equivalente a:
Ejemplo 2
Este comando fusionará todas las vcards en una.
fuente
type file1 file2 > file3 2>NULPuedes usar
copy /basí:fuente
typedescritos en los comentarios sobre la respuesta aceptada ... ¡a menos que esta solución tenga inconvenientes similares pero no sea lo suficientemente popular como para que la gente los note!Si tiene control sobre la máquina donde está haciendo su trabajo, le recomiendo instalar GnuWin32 . Simplemente "Descargar todo" y deje que el programa wget recupere todos los paquetes. Luego tendrá acceso a cat, grep, find, gzip, tar, less y cientos de otros.
GnuWin32 es una de las primeras cosas que instalo en una nueva caja de Windows.
fuente
Shameless PowerShell plug (porque creo que la curva de aprendizaje es un dolor, por lo que enseñar algo en cualquier oportunidad puede ayudar)
Tenga en cuenta que
typees un alias para Get-Content, por lo que si le gusta más, puede escribir:fuente
type file1 file2 > desty cada uno se hizo en segundos.'\n'puede ser reemplazado con'\r\n'-Encoding UTF8No cambió nada.Simplemente use el comando dos copy con múltiples archivos de origen y un archivo de destino.
Es posible que necesite la opción / B para archivos binarios
fuente
En la versión Redstone 1 de Windows 10, Windows agregó un subsistema Linux real para el núcleo NTOS. Creo que originalmente estaba destinado a admitir aplicaciones de Android, y tal vez escenarios de tipo docker. Microsoft se asoció con Canonical y agregó un shell bash nativo real. Además, puede usar el administrador de paquetes apt para obtener muchos paquetes de Ubuntu. Por ejemplo, puede hacer apt-get gcc para instalar la cadena de herramientas GCC como lo haría en una caja de Linux.
Si tal cosa existiera mientras estaba en la universidad, creo que podría haber hecho la mayoría de mis tareas de programación de Unix en el shell nativo de Windows bash.
fuente
Si simplemente desea agregar texto al final del archivo existente, puede usar el >> tubo. ex:
fuente
Si tiene que usar un script por lotes y tiene instalado Python, aquí hay una respuesta polygot en batch y python:
Si se guarda como join.bat, el uso sería:
Gracias también esta respuesta por la inspiración.
fuente
Intento reunirme con el archivo tar que se ha dividido en un servidor Linux.
Y descubrí que si lo uso
typeen Windowscmd.exe, causará que el archivo se una en un orden incorrecto (es decir, atypeveces pone XXXX.ad al principio y luego XXXX.ac, XXXX.aa, etc.)Entonces, encontré una herramienta llamada
baten GitHub https://github.com/sharkdp/bat que tiene una compilación de Windows y tiene un mejor resaltado de código y lo importante es que funciona bien en Windows para unirse al archivo tar.fuente
Así que estaba buscando una solución similar con la habilidad de preservar los caracteres de EOL y descubrí que no había forma, así que hago lo que mejor hago e hice mi propia utilidad. Este es un gato nativo ejecutable para Windows: https: // mega. nz / #! 6AVgwQhL! qJ1sxx-tLtpBkPIUx__iQDGKAIfmb21GHLFerhNoaWk
Lo llamo Sharp-cat ya que está construido con C #, no dude en escanear con un antivirus y el código fuente estará disponible a pedido
fuente
El comando de tipo Windows tiene problemas, por ejemplo, con caracteres Unicode en el límite de 512 bytes. Prueba el gato de Cygwin.
fuente