Du script, bon sang !
Voilà, j’avais vu qu’on pouvait faire des patchs sur des fichiers binaires, et le besoin s’en est fait sentir lorsqu’un technicien sur site m’a demandé a plusieurs reprises de modifier le logiciel. Problème : le site d’installation avait une liaison internet déplorable (à peine quelques ko/s) et il était donc hors de question de faire passer plusieurs mégaoctets à chaque mise à jour.
J’ai donc opté pour l’utilisation de bsdiff
et bspatch
petits utilitaires en lignes qui, associés à md5sum
ont fait un travail remarquable. Pour simplifier la tâche du technicien, j’avais empaqueté le tout avec un simple fichier batch automatisant la tâche et réalisant la vérification. Bien sur, le fichier batch embarquait le résultat du md5 du fichier pour vérification et au bout de 2 itérations, je me suis dit qu’il était temps d’automatiser aussi la génération du fichier batch. En langage batch tant qu‘à faire.
Faire des echo
dans une redirection de fichier, c’est simple. Le plus compliqué devait être de récupérer la somme de contrîole (le résultat du md5sum
) pour l’inclure dans une variable. Et là, surprise ! L’aide en ligne étant plus que limitée, une recherche sur internet m’a amené à voir des solutions saugrenues allant de l‘écriture d’un fichier à l’utilisation de vb. Au final une commande en pur batch à la sémantique décalée par rapport à l’action :
for /f "delims=/ " %%a in ('echo. ^|md5sum Fichier.exe') do set md5= %%a
Merci hotline pc . Mais tout de même, en bash, en perl, en python, c’est plus lisible. Comment proposer aux utilisateurs l’automatisation de leur tâches si le langage est aussi abscons…