Traitement de fichiers.zip deffectueux
Bonjour à tous,
je vais essayer d'être claire dans l'explication de mon PB.
Je reçois 4 à 5 fichiers .ZIP (cela peut être plus) pour un même Centre, d'une base vers mon Windows 2003
Les fichiers sont tous envoyés les uns après les autres avec un intervalle de quelques secondes.
Exp:
CENTRE_XML_aaaammjj_888880.ZIP
CENTRE_XML_aaaammjj_888881.ZIP
CENTRE_XML_aaaammjj_888882.ZIP
CENTRE_XML_aaaammjj_888883.ZIP
CENTRE_XML_aaaammjj_888884.ZIP
Le problème c'est que dans mon dossier Fic_temp (dossier de réception) il traite 4 fichiers mais le 5em n'est pas traité ??
je souhaiterais inclure dans mon script une tempo qui permettrait de traiter les fichiers un par un avec avec 15 secondes entre chaque
traitement merci à tous pour votre aide.
Merci à tous pour votre aide
Mon script:
Code:
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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
| @echo off
set Plaque=%1%
set Centre=%2%
set JOUR=%date:~0,2%
set MOIS=%date:~3,2%
set ANNEE=%date:~6,4%
set HEURE=%time:~0,2%
set MINUTE=%time:~3,2%
set LOG=C:\Outils\log\Fic.BAT_%ANNEE%_%MOIS%_%JOUR%.log
echo -- DEBUT : Traitement du %JOUR%/%MOIS%/%ANNEE% a %HEURE%:%MINUTE% >>%LOG%
echo ---- INFO : Plaque=%Plaque% pour Centre=%Centre% >>%LOG%
if exist c:\temp\Fic.bat.%Centre%.lock (
echo ---- ERREUR : Programme deja lance pour le centre %Centre% >>%LOG%
echo -- FIN : Traitement du %JOUR%/%MOIS%/%ANNEE% a %HEURE%:%MINUTE% >>%LOG%
) else (
echo ------ Debut : Creation du fichier lock pour le centre %Centre% >>%LOG%
echo "" > c:\temp\FIC.bat.%Centre%.lock
echo ------ Fin : Creation du fichier lock pour le centre %Centre% >>%LOG%
E:
for %%P in ( France_%Plaque%\Appli_%Centre% ) do (
if exist E:\Stream\proj\%%P\Ferme\Fic_temp (
cd /d E:\Stream\proj\%%P\Ferme\Fic_temp
) ELSE (
echo ------ERREUR : E:\Stream\proj\%%P\Ferme\Fic_temp non present >>%LOG% )
if not exist E:\Stream\proj\%%P\Ferme\Fic_temp\Traitement (
echo ------ Debut : Creation repertoire E:\Stream\proj\%%P\Ferme\Fic_temp\Traitement >>%LOG%
mkdir E:\Stream\proj\%%P\Ferme\Fic_temp\Traitement
echo ------ Fin : Creation repertoire E:\Stream\proj\%%P\Ferme\Fic_temp\Traitement >>%LOG%
)
if not exist E:\Stream\proj\%%P\Ferme\Fic_non_natif echo ------ERREUR : E:\Stream\proj\%%P\Ferme\Fic_non_natif non present >>%LOG%
if not exist E:\Stream\proj\%%P\Ferme\Fic_temp\save (
echo ------ Debut : Creation du repertoire de sauvegarde E:\Stream\proj\%%P\Ferme\Fic_temp\save >>%LOG%
mkdir E:\Stream\proj\%%P\Ferme\Fic_temp\save
echo ------ Fin : Creation du repertoire de sauvegarde E:\Stream\proj\%%P\Ferme\Fic_temp\save >>%LOG%
)
DIR /B E:\Stream\proj\%%P\Ferme\Fic_temp\*.zip 2>/nul
if errorlevel 1 (
echo ------ WARNING : Pas de fichier zip dans E:\Stream\proj\%%P\Ferme\Fic_temp >>%LOG%
) else (
FOR /F %%A IN ('DIR /B E:\Stream\proj\%%P\Ferme\Fic_temp\*.zip') DO (
echo _______________________________ %%A
if exist c:\temp\%%A.lock (
echo ------ WARNING : Fichier ZIP deja traite >>%LOG%
echo ------ Debut : deplacement du fichier %%A dans repertoire C:\TEMP\Fichiers_doublés >>%LOG%
move "E:\Stream\proj\%%P\Ferme\Fic_temp\%%A" "C:\TEMP\Fichiers_doublés"
echo ------ Fin : deplacement du fichier %%A dans repertoire C:\TEMP\Fichiers_doublés >>%LOG%
) else (
echo ------ Debut : Decompression fichier : %%A >>%LOG%
"C:\Program Files\Winzip\wzunzip.exe" %%A >>%LOG%
echo ------ Fin : Decompression fichier : %%A >>%LOG%
echo ------ Debut : Pose du fichier lock : %%A.lock >>%LOG%
echo "" > c:\temp\%%A.lock
echo ------ Fin : Pose du fichier lock : %%A.lock >>%LOG%
if errorlevel 0 (
echo ------ Debut : Deplacement fichier %%A vers repertoire temporaire E:\Stream\proj\%%P\Ferme\Fic_temp\Traitement >>%LOG%
move "E:\Stream\proj\%%P\Ferme\Fic_temp\%%A" "E:\Stream\proj\%%P\Ferme\Fic_temp\Traitement"
echo ------ Fin : Deplacement fichier %%A vers repertoire temporaire E:\Stream\proj\%%P\Ferme\Fic_temp\Traitement >>%LOG%
for /F %%B IN ('DIR /B *.xml') DO (
if not exist %%B (
echo ------ WARNING : Fichier %%B non present >>%LOG%
) else (
echo ------ Debut : Deplacement fichier xml %%B vers E:\Stream\proj\%%P\Ferme\Fic_non_natif >>%LOG%
move "E:\Stream\proj\%%P\Ferme\Fic_temp\%%B" "E:\Stream\proj\%%P\Ferme\Fic_non_natif"
echo ------ Fin : Deplacement fichier xml %%B vers E:\Stream\proj\%%P\Ferme\Fic_non_natif >>%LOG%
)
)
echo ------ Debut : Deplacement fichier %%A >>%LOG%
move "E:\Stream\proj\%%P\Ferme\Fic_temp\Traitement\%%A" "E:\Stream\proj\%%P\Ferme\Fic_temp\save"
echo ------ Fin : Deplacement fichier %%A >>%LOG%
if exist E:\Stream\proj\%%P\Ferme\Fic_temp\save\%%A (
echo ------ INFO : Le fichier %%A a ete deplace dans E:\Stream\proj\%%P\Ferme\Fic_temp\save\ >>%LOG%
) else (
echo ------ WARNING : Le fichier %%A n'a pas ete déplace >>%LOG%
)
) else (
echo ------ WARNING : Probleme lors de la decompression du fichier %%A >>%LOG%
)
echo ------ Fin : Decompression fichier : %%A >>%LOG%
)
)
)
)
echo ---------Fin Traitement du %JOUR%/%MOIS%/%ANNEE% a %HEURE%:%MINUTE% ---------------------------------- >>%LOG%
echo ---- Debut : Suppression du lock de lancement pour %Centre% >>%LOG%
del c:\temp\FIC.bat.%Centre%.lock
echo ---- Fin : Suppression du lock de lancement pour %Centre% >>%LOG%
echo -- FIN : Traitement du %JOUR%/%MOIS%/%ANNEE% a %HEURE%:%MINUTE% >>%LOG%
) |
Traitement de fichiers.zip deffectueux
Merci pour la réponse plopi,
Je suis sur 2003 serveur, je ne vois pas entre quel lignes ajouter mes sleep ?
Merci
Cordialement
PAB/31/SAB