Ce mémo a été publié le 3 janvier 2011 et peut contenir des informations qui peuvent être incomplètes, non mises à jour voir erronées du fait de son ancienneté.
N'hésitez pas à compléter votre recherche sur des articles plus récents.
Cas concret : je veux automatiser la compression d’un répertoire avec 7Zip avec les contrainte suivantes :
- 7z.exe est sur un serveur distant
- Le répertoire à compresser est sur un serveur distant
- Le programme devra être exécuté automatiquement via une tâche planifiée ou exécutée depuis un script VBA sur une tierce machine.
- Je ne veux pas copier en local les fichiers à compresser.
Impossible ? Ben si…..
Pour mieux comprendre, voici un exemple de script :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
rem exemple.bat %1 %2 %3 rem %1 : répertoire contenant 7z.exe rem %2 : répertoire contenant les fichiers à compresser rem %3 : nom du fichier de destination exemple.zip rem --------------------------------------- rem Répertoire d'exécution de 7Zip rem Création d'une lettre réseau temporaire pushd %1 rem Récupération de la lettre créée SET repzip=%cd% rem --------------------------------------- rem Répertoire à compresser rem Création d'une lettre réseau temporaire pushd %2 rem Récupération de la lettre créée SET repacompresser=%cd% rem --------------------------------------- cd %repzip% %repzip%7z.exe a %repzip%temp%3 %repacompresser%*.* SET errorzip=%ErrorLevel% rem --------------------------------------- rem Libération des lettres réseaux popd popd rem --------------------------------------- rem retour du code erreur de 7Zip exit %errorzip% |
1 |
<span style="vertical-align: top;"><span style="color: #448844;">repacompresser</span></span> |