Batch problème dezippage et fonction
Résolu
remousse
Messages postés
299
Date d'inscription
Statut
Membre
Dernière intervention
-
Flog78 -
Flog78 -
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:
Et voilà ma sortie d'écran:
Merci de votre aide.
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:
- Batch problème dezippage et fonction
- Fonction si et - Guide
- Fichier batch - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer sur word - Guide