Script DOS batch pour compresser le dossier courant – ZIP

Le script que je vous propose ci-dessous est un fichier .bat pour Windows. Il suffit de copier/coller le script dans p.ex. Notepad puis de sauver le fichier dans un dossier Joomla (ex : c:\site\modules\mod_banners) puis de double-cliquez sur le script afin de l’exécuter et d’obtenir un fichier mod_banners.zip qui reprendra l’archive du dossier et de ses sous-dossiers.

L’intérêt majeur du script est sa simplicité (il suffit de double-cliquer sur le fichier) et sa réutilisation dans un script plus global qui pourrait archiver plusieurs dossiers en une seule fois; chaque dossier racine donnant lieu à un fichier archive.

Ce script a été développé pour le composant AllEvents et je le mets à disposition des utilisateurs de Joomla et, plus globalement, de Windows car ce script n’est en rien limité à un usage Joomla.

@ECHO OFF

REM ------------------------------------------------------------------------------
REM Auteur : Christophe Avonture; développeur de l'extension AllEvents pour Joomla
REM Gestionnaire d'évènements gratuit pour Joomla (http://avonture.be/allevents)
REM
REM Compresse le dossier en cours au format ZIP.   Utilise 7-zip pour cela.
REM L'archive aura le nom du dossier en cours et reprendra tous les fichiers
REM ainsi que les sous-dossiers.
REM
REM Après création de l'archive,
REM ce fichier BAT qui a été également archivé dans le ZIP sera supprimé.
REM ------------------------------------------------------------------------------
REM Initialisation
REM Chemin d'accès vers le programme 7-zip (à télécharger si nécessaire)
SET ZIP="C:\Program Files\7-Zip\7z.exe"
REM Récupère le nom du dossier courant (p.ex. com_allevents si le chemin complet est
REM  c:\AllEvents\components\com_allevents)
FOR %%i IN ("%CD%") DO SET "TGT=%%~nxi"
CLS
REM Crée l'archive et supprime de l'archive ce script qui aura aussi été compressé.
REM Le nom du script courant est retrouvé via %~n0.bat
%ZIP% a %TGT%.zip -tzip -r *.*
%ZIP% d %TGT%.zip -tzip -r %~n0.bat

ECHO.
ECHO Le fichier %TGT%.zip a été créé.