Batch problème dezippage et fonction

Résolu/Fermé
remousse Messages postés 299 Date d'inscription dimanche 2 novembre 2008 Statut Membre Dernière intervention 20 novembre 2014 - 14 août 2012 à 09:26
 Flog78 - 14 août 2012 à 15:27
Bonjour,

J'ai un script batch (placé dans C:\ ) qui fait dans un premier un move, puis un dezip, puis l'appel d'un autre batch. Cependant je rencontre plusieurs problème:

- Le unzip doit se faire dans le dossier C:\tmp\out mais au lieu de ça cela me créé un dossier C:\out\ avec les fichiers décompressés. Je ne vois pas où ma commande 7z est inexacte.

- Autre problème, mon script passe dans toutes les fonctions quoiqu'il arrive. En fait j'ai l'impression que les exit /B %errorlevel% me font uniquement quitter la fonction et non le batch lui même, sachant que je ne veux pas quitter cmd.exe donc pas de exit simple.

Voici mon script:

@echo off
set ZIP_PATH=C:\tmp
set EXTENSION=*.zip
set OUTPUT_PATH=C:\tmp\out
set NOW=%date:/=-%
set EXEC_ZIP_PATH="C:\Program Files\7-Zip"
set BATCH_PATH=C:\

echo %NOW% %TIME:~0,8% - Lancement du traitement

REM Lecture du répertoire d'entrée contenant les ZIP
for %%f in ("%ZIP_PATH%\%EXTENSION%") do call:MOVE_ZIP "%%f"

:MOVE_ZIP
for /f "delims=" %%i in ('echo %1') do set ZIP_NAME=%%~nxi
echo %NOW% %TIME:~0,8% - Déplacement du fichier %1 dans %OUTPUT_PATH%
move %1 %OUTPUT_PATH%
if %errorlevel%==0 call:UNZIP %ZIP_NAME%
if NOT %errorlevel%==0 GOTO END_ERROR_MOVE

:END_ERROR_MOVE
echo %NOW% %TIME:~0,8% - Le déplacement du fichier a échoué - Erreur %errorlevel%
exit /B %errorlevel%

:UNZIP
%EXEC_ZIP_PATH%\7z.exe e %OUTPUT_PATH%\%1 -o%OUTPUT_PATH%
if %errorlevel%==0 call:FINAL %1
if NOT %errorlevel%==0 GOTO END_ERROR_ZIP

:END_ERROR_ZIP
echo %NOW% %TIME:~0,8% - La décompression du fichier a échoué - Erreur %errorlevel%
exit /B %errorlevel%

:FINAL
del %OUTPUT_PATH%\%1
call %BATCH_PATH%launch.bat
if %errorlevel%==0 GOTO END
if NOT %errorlevel%==0 GOTO END_ERROR_BATCH

:END_ERROR_BATCH
echo %NOW% %TIME:~0,8% - L'exécution du batch a echoué - Erreur %errorlevel%
exit /B %errorlevel%

:END
echo %NOW% %TIME:~0,8% - Le traitement est terminé




Et voilà ma sortie d'écran:

C:\>unzip_to_batch.bat
14-08-2012  9:19:19 - Lancement du traitement
14-08-2012  9:19:19 - DÚplacement du fichier "C:\tmp\test.zip" dans C:\tmp\out

7-Zip 4.65  Copyright (c) 1999-2009 Igor Pavlov  2009-02-03

Processing archive: C:\tmp\out\test.zip

Extracting  Nouveau Document texte.txt

Everything is Ok

Size:       0
Compressed: 150
'launch.bat' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
14-08-2012  9:19:19 - L'exÚcution du batch a echouÚ - Erreur 1
14-08-2012  9:19:19 - La dÚcompression du fichier a ÚchouÚ - Erreur 1
14-08-2012  9:19:19 - Le dÚplacement du fichier a ÚchouÚ - Erreur 1
14-08-2012  9:19:19 - DÚplacement du fichier  dans C:\tmp\out

7-Zip 4.65  Copyright (c) 1999-2009 Igor Pavlov  2009-02-03


Error:
cannot find archive
14-08-2012  9:19:19 - La dÚcompression du fichier a ÚchouÚ - Erreur 2
14-08-2012  9:19:19 - Le dÚplacement du fichier a ÚchouÚ - Erreur 2

C:\>



Merci de votre aide.



A voir également:

2 réponses

remousse Messages postés 299 Date d'inscription dimanche 2 novembre 2008 Statut Membre Dernière intervention 20 novembre 2014 6
14 août 2012 à 10:42
Problème résolu pour le 7z mais pas pour le exit.

Quelqu'un a-t-il une solution ?
0
remousse Messages postés 299 Date d'inscription dimanche 2 novembre 2008 Statut Membre Dernière intervention 20 novembre 2014 6
14 août 2012 à 13:06
Problème résolu.
0
Est-ce que je pourrai savoir comment tu as fait pour le exit? J'avais déjà rencontré ce problème.
0