Bonjour la communauté,
On m'a posé la problématique suivante que je dois réaliser en Batch DOS cmd (et uniquement sous ce "langage")
Je dois réaliser un script dont le but est de concaténer avec la commande copy /b plusieurs fichiers afin d'en obtenir un seul. Le nombre de fichiers à concaténer est variable et doit être renseigné par l'utilisateur. Mais par contre, mon problème principal, c'est que le nom des fichiers à concaténer (qui contient un numéro à la fin et commence toujours par "Fic") est sur 3 digit. Ainsi, le premier fichier ne s'appelle pas Fic1.bin mais Fic001.bin, puis Fic002.bin et ainsi de suite
J'ai une idée approximative de la forme que doit avoir mon script mais il y a un ou deux points de détail sur lesquels je coince, notamment sur comment forcer le nom du fichier (enfin son séquençage) sur 3 caractères
Pour l'instant, ça commence comme quelque chose du style :
========
========
Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 set /p Nb=Combien de fichiers a concaténer ? FOR /L %%A IN (1,1,%Nb%) DO ( copy /b Final.bin+Fic&%A% Final.bin )
Je n'ai même pas besoin de le tester pour savoir qu'il ne marchera pas en l'état car j'ai plusieurs problèmes que je ne sais pas résoudre :
- Est-ce que la commande FOR /L peux recevoir une variable nommée par %Nb% ou alors faut-il utiliser une autre notation ?
- Faire en sorte que la variable %A% qui contient le numéro de séquençage utilisé après pour trouver le nom du fichier à lire pour le concaténer soit sur 3 digits
- Comment, dans la commande "copy /b" former le nom du fichier à chercher sur la base de sa "racine" Fic auquel on ajoute le numéro de séquençage sur 3 digits
Voilà
J'espère avoir été clair et exhaustif et suis dans l'attente de vos suggestions ou questions
Par avance, un grand merci
Partager