Cours complet fichiers batch MS-DOS

Fermé
jack554 Messages postés 62 Date d'inscription vendredi 24 mai 2002 Statut Membre Dernière intervention 3 octobre 2023 - 14 nov. 2022 à 22:11
brucine Messages postés 14341 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 28 avril 2024 - 15 nov. 2022 à 10:13

Bonjour,

Je cherche ce cours, si possible gratuit, car je voudrais automatiser des opérations sur des fichiers, comme par exemple compresser tous les fichiers d'un répertoire dans des fichiers zip séparés, etc ...

Merci par avance pour vos liens et idées,

Jack.

2 réponses

brucine Messages postés 14341 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 28 avril 2024 1 818
15 nov. 2022 à 09:19

Bonjour,

Il n'existe pas un cours recensant tous les cas de figure, mais un certain nombre de tutoriels généraux comportant parfois des exemples, comme ici:

https://wiki.bananeatomic.fr/wiki/Batch

https://www.robvanderwoude.com/

http://djludo.free.fr/home/pages/res_batch.htm

https://initscreen.developpez.com/tutoriels/batch/apprendre-la-programmation-de-script-batch/

On trouve des mises en oeuvre de la plupart des situations par exemple sur Superuser, que l'on obtiendra en saisissant comme d'habitude et sans grande surprise dans son moteur de recherche les mots clés appropriés à cette situation, et en les adaptant à son cas particulier.

Une telle adaptation nécessite bien sûr que l'on comprenne ce qui y est écrit pour faire les modifications nécessaires, et donc que l'on se soit approprié les bases du Batch.

L'exemple que tu évoques ne présente pas de difficulté particulière s'il s'agit de compresser tous les fichiers d'un dossier en une archive zip ou les fichiers de plusieurs répertoires en autant de zip séparés: il suffira de soit appliquer une commande de compression par le biais d'un utilitaire tiers supportant un caractère générique (au plus classique 7Zip à la ligne de commande), soit de faire la même chose en passant par une boucle et une variable.

Il va singulièrement se compliquer si maintenant on souhaite compresser les fichiers d'un même dossier en plusieurs zip, puisque cela amène à déterminer le choix de ces fichiers: un exemple de ce que tu veux faire serait bienvenu.

0
jack554 Messages postés 62 Date d'inscription vendredi 24 mai 2002 Statut Membre Dernière intervention 3 octobre 2023
15 nov. 2022 à 09:46

Bonjour et merci Brucine pour cette réponse et ces liens.

Entre temps j'ai trouvé la solution à mon problème sur le site de developpez.com. Si on veut compresser par exemple toutes les vidéos du dossier en cours, on peut créer un batch avec ce code :

for %%a in (*.mp4 *.avi *.m2ts *.mov *.mts) do (
    set "NomFichier=%%~na"
    echo NomFichier    : "!NomFichier!"
    "c:\Program Files\7-Zip\7z.exe" a -tzip "!NomFichier!".zip "!NomFichier!".mp4
)

Merci encore et bonne journée,

Jack.                                                                                   

0
brucine Messages postés 14341 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 28 avril 2024 1 818
15 nov. 2022 à 10:13

Je n'ai pas dit le contraire sinon que le script que tu illustres est bizarre: il met en jeu une variable retardée qui n'est pas paramétrée et il crée les fichiers compressés dans le dossier de ceux qui ne le sont pas, ce qui n'est peut-être pas le but, mais là n'est pas la question: si tu souhaitais un script particulier, il suffisait de le chercher ou de demander, mais cela n'a rien à voir avec le titre de ta question.

1