J'ai besoin de joindre deux fichiers binaires avec un *.bat
script sous Windows.
Comment puis-je y parvenir?
windows
command-line
scripting
Artem Tikhomirov
la source
la source
type
ne peut remplacer qu'une partie descat
fonctionnalités de (en raison de la distinction entre les fichiers binaires et les fichiers texte sous Windows).Réponses:
La
type
commande Windows fonctionne de manière similaire à UNIXcat
.Exemple 1:
est équivalent à:
Exemple 2:
Cette commande fusionnera toutes les vcards en une seule.
la source
type file1 file2 > file3 2>NUL
Vous pouvez utiliser
copy /b
comme ceci:la source
type
décrits dans les commentaires sur la réponse acceptée ... à moins que cette solution n'ait des inconvénients similaires mais ne soit pas assez populaire pour que les gens les notent!Si vous avez le contrôle de la machine sur laquelle vous travaillez, je vous recommande fortement d'installer GnuWin32 . Il suffit de "Télécharger tout" et de laisser le programme wget récupérer tous les packages. Vous aurez alors accès à cat, grep, find, gzip, tar, less et des centaines d'autres.
GnuWin32 est l'une des premières choses que j'installe sur une nouvelle boîte Windows.
la source
Prise PowerShell sans vergogne (parce que je pense que la courbe d'apprentissage est pénible, donc enseigner quelque chose à n'importe quelle occasion peut aider)
Notez qu'il
type
s'agit d'un alias pour Get-Content, donc si vous l'aimez mieux, vous pouvez écrire:la source
type file1 file2 > dest
et chacun a été fait en quelques secondes.'\n'
peut être remplacé par'\r\n'
-Encoding UTF8
n'a rien changé.Utilisez simplement la commande dos copy avec plusieurs fichiers source et un fichier de destination.
Vous pourriez avoir besoin de l'option / B pour les fichiers binaires
la source
Dans la version Redstone 1 de Windows 10, Windows a ajouté un véritable sous-système Linux pour le noyau NTOS. Je pense qu'à l'origine, il était destiné à prendre en charge les applications Android, et peut-être des scénarios de type docker. Microsoft s'est associé à Canonical et a ajouté un véritable shell bash natif. En outre, vous pouvez utiliser le gestionnaire de packages apt pour obtenir de nombreux packages Ubuntu. Par exemple, vous pouvez faire apt-get gcc pour installer la chaîne d'outils GCC comme vous le feriez sur une boîte Linux.
Si une telle chose existait pendant que j'étais à l'université, je pense que j'aurais pu faire la plupart de mes affectations de programmation Unix dans le shell bash natif de Windows.
la source
Si vous souhaitez simplement ajouter du texte à la fin du fichier existant, vous pouvez utiliser le >> pipe. ex:
la source
Si vous devez utiliser un script batch et que python est installé, voici une réponse polygot en batch et python:
Si enregistré sous join.bat, l'utilisation serait:
Merci aussi cette réponse pour l'inspiration.
la source
J'essaie de rejoindre l'archive tar qui a été divisée sur un serveur Linux.
Et j'ai trouvé que si j'utilise
type
dans Windowscmd.exe
, cela entraînera latype
jonction du fichier dans le mauvais ordre (c'est-à-dire que parfois mettra d'abord XXXX.ad puis XXXX.ac, XXXX.aa etc ...)J'ai donc trouvé un outil nommé
bat
dans GitHub https://github.com/sharkdp/bat qui a une construction Windows, et a une meilleure mise en évidence du code et l'important est que cela fonctionne bien sur Windows pour rejoindre l'archive tar!la source
Je cherchais donc une solution similaire avec la capacité de préserver les caractères EOL et j'ai découvert qu'il n'y avait aucun moyen, donc je fais ce que je fais de mieux et j'ai créé ma propre utilité.Il s'agit d'un exécutable de chat natif pour Windows - https: // méga. nz / #! 6AVgwQhL! qJ1sxx-tLtpBkPIUx__iQDGKAIfmb21GHLFerhNoaWk
Je l'appelle Sharp-Cat car il est construit avec C #, n'hésitez pas à scanner avec un antivirus et le code source sera disponible sur demande
la source
La commande de type Windows a des problèmes, par exemple avec des caractères Unicode sur une limite de 512 octets. Essayez le chat de Cygwin.
la source