J'ai besoin de joindre deux fichiers binaires avec un *.bat
script sur Windows.
Comment puis-je y parvenir ?
J'ai besoin de joindre deux fichiers binaires avec un *.bat
script sur Windows.
Comment puis-je y parvenir ?
Le problème de type dans cette situation est qu'il ajoute des en-têtes de fichiers non désirés lors de la saisie de plus d'un fichier spécifié sur la ligne de commande.
Lorsque vous spécifiez plus d'un fichier sur la ligne de commande, tape sort quelques lignes vides et le nom du fichier, avant de copier le contenu du fichier. Essayez-le :)
Pour une séquence de fichiers, vous pouvez utiliser des caractères de remplacement comme "copy /b file* destfile".
Il me semble étrange que ce ne soit pas la réponse acceptée, étant donné les problèmes apparents avec type
dans les commentaires de la réponse acceptée... sauf si cette solution présente des inconvénients similaires mais n'est pas assez populaire pour que les gens les notent !
Si vous avez le contrôle de la machine où vous travaillez, je vous recommande vivement d'installer GnuWin32 . Il suffit de "Télécharger tout" et de laisser le programme wget récupérer tous les paquets. 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.
Une publicité éhontée pour PowerShell (parce que je pense que la courbe d'apprentissage est pénible, donc enseigner quelque chose à n'importe quelle occasion peut aider).
Get-Content file1,file2
Notez que type
est un alias pour Get-Content, donc si vous le préférez, vous pouvez l'écrire :
type file1,file2
Cela fonctionne, mais c'est très lent. J'ai trouvé cette question alors que j'attendais que powershell concatène de gros fichiers vidéo, ce qui prenait une demi-heure par fichier. J'ai tué le processus et essayé avec cmd en utilisant type file1 file2 > dest
et chacun a été fait en quelques secondes.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
20 votes
Votre question titre et votre question description ne sont pas totalement synchronisées. type serait la meilleure réponse pour la question titre et copy /b serait la meilleure réponse pour la question description. Vous pourriez vouloir changer ce titre si possible.
2 votes
@Joseph
type
ne peut remplacer qu'une partie decat
(en raison de la distinction entre les fichiers binaires et les fichiers texte sous Windows).0 votes
Cross-duplicate : superuser.com/q/434870/52365
0 votes
Notez que
cat
fait plus que simplement concaténer des fichiers ; une autre fonction qu'il exécute est de copier stdin vers stdout (quand il est appelé sans arguments). Voir cette question pour savoir comment réaliser cela sous Windows : stackoverflow.com/q/52330841