Script bat ou cmd - Utiliser temporairement une lettre réseau sur un répertoire partagé

Cas concret : je veux automatiser la compression d'un répertoire avec 7Zip avec les contrainte suivantes :

  1. 7z.exe est sur un serveur distant
  2. Le répertoire à compresser est sur un serveur distant
  3. 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.
  4. 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
32
33
34
35
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%
 

 

{jcomments on}


repacompresser
Joomla templates by a4joomla