Bonjour à tous,

j'ai besoin d'un expert VBS, on me demande de convertir un .bat en .vbs.
Je ne maitrise pas très bien les boucles.

Mon script .bat à beaucoup de lignes mais je pense qu'en vbs il en faut moins.

ce que fait mon script:

------------------------------------------------------------------------
Il vérifie qu'un .lock n'est pas présent dans "c:\Donnees\fic_%Centre%.lock" si oui il arrête le script.

Il vérifie la présence des dossiers dans l'arbo

"E:\projets\%%P\input\Fichin_temp"
"E:\projets\%%P\input\Fichin_temp\Traitement"
"E:\projets\%%P\input\Fichin_temp\save"


il verifie si un lock est posé avent le traitement du zip dans c:\Donnees\%%A.lock: warning echo ------ WARNING : Fichier ZIP deja traite


il déplace le zip dans Doubles_Fic si réception en double

Il décompresse avec winzip, et pose un lock

Déplacement des fichiers (.doc) décompresser vers le dossier traitement

il vérifie la présence des .doc sinon warning

Il déplace les .doc des dossiers Fichin_temp vers Fic_non_natif

il déplace les .zip dans "E:\projets\%%P\input\Fichin_temp\save"

Le tout tracé dans un .log

--------------------------------------------------------------------------
le script en .bat

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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:\Log\fic_%ANNEE%_%MOIS%_%JOUR%.log
set Traitement=%zip%
echo ---- DEBUT : Traitement du %JOUR%/%MOIS%/%ANNEE% a %HEURE%:%MINUTE%  >>%LOG%
echo ---- INFO : Plaque=%Plaque% pour Centre=%Centre% >>%LOG%
echo ---- INFO : zip=%zip%  >>%LOG%
 
 
if exist c:\Donnees\fic_%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:\Donnees\fic_%Centre%.lock
		echo ------ Fin : Creation du fichier lock pour le centre %Centre% >>%LOG%
	E:
	for %%P in ( Stat90_%Plaque%\Appli_%Centre% ) do (
		if exist E:\Projet\%%P\input\Fichin_temp (
		cd /d E:\projets\%%P\input\Fichin_temp
		) ELSE (
					echo ------ERREUR : E:\projets\%%P\input\Fichin_temp non present >>%LOG% )
 
		if not exist E:\projets\%%P\input\Fichin_temp\Traitement (
				echo ------ Debut : Creation repertoire E:\projets\%%P\input\Fichin_temp\Traitement >>%LOG%
			mkdir E:\projets\%%P\input\Fichin_temp\Traitement
				echo ------ Fin : Creation repertoire E:\projets\%%P\input\Fichin_temp\Traitement >>%LOG% 
 
 
			)
 
		if not exist E:\projets\%%P\input\Fic_non_natif echo ------ERREUR : E:\projets\%%P\input\Fic_non_natif non present >>%LOG%
 
 
		if not exist E:\projets\%%P\input\Fichin_temp\save (
				echo ------ Debut : Creation du repertoire de sauvegarde E:\projets\%%P\input\Fichin_temp\save >>%LOG%
				mkdir E:\projets\%%P\input\Fichin_temp\save 
				echo ------ Fin : Creation du repertoire de sauvegarde E:\projets\%%P\input\Fichin_temp\save >>%LOG% 
		)
 
		DIR /B "E:\projets\%%P\input\Fichin_temp\%zip%" 2> /nul
		if errorlevel 1 (
			echo ------ WARNING : Pas de fichier zip dans E:\projets\%%P\input\Fichin_temp >>%LOG%
		) else (
			FOR /F %%A IN ('DIR /B E:\projets\%%P\input\Fichin_temp\%zip%') DO (
				echo _______________________________ %%A
				if exist c:\Donnees\%%A.lock (
						echo ------ WARNING : Fichier ZIP deja traite >>%LOG%
						echo ------ Debut : deplacement du fichier %%A dans repertoire E:\TEMP\Doubles_Fic >>%LOG%
						move "E:\projets\%%P\input\Fichin_temp\%%A" "E:\TEMP\Doubles_Fic" 
						echo ------ Fin : deplacement du fichier %%A dans repertoire E:\TEMP\Doubles_Fic >>%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:\Donnees\%%A.lock  
						echo ------ Fin : Pose du fichier lock : %%A.lock  >>%LOG%
					if errorlevel 0 (
						echo ------ Debut : Deplacement fichier %%A vers repertoire temporaire E:\projets\%%P\input\Fichin_temp\Traitement >>%LOG%
						move "E:\projets\%%P\input\Fichin_temp\%%A" "E:\projets\%%P\input\Fichin_temp\Traitement"
						echo ------ Fin : Deplacement fichier %%A vers repertoire temporaire E:\projets\%%P\input\Fichin_temp\Traitement >>%LOG%
 
						for /F %%B IN ('DIR /B *.txt') DO (
							if not exist %%B (
								echo ------ WARNING : Fichier %%B non present >>%LOG%
							) else (
								echo ------ Debut : Deplacement fichier doc %%B vers E:\projets\%%P\input\Fichin_temp >>%LOG%
								move "E:\projets\%%P\input\Fichin_temp\%%B" "E:\projets\%%P\input\Fic_non_natif"
								echo ------ Fin : Deplacement fichier %%B vers E:\projets\%%P\input\Fic_non_natif >>%LOG%
 
							)
						)
						echo ------ Debut : Deplacement fichier %%A >>%LOG%
						move "E:\projets\%%P\input\Fichin_temp\Traitement\%%A" "E:\projets\%%P\input\Fichin_temp\save"
						echo ------ Fin : Deplacement fichier %%A >>%LOG%
							if exist E:\projets\%%P\input\Fichin_temp\save\%%A (
							echo ------ INFO : Le fichier %%A a ete deplace dans E:\projets\%%P\input\Fichin_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:\Donnees\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%
 
)

Voilà je ne sais pas si j'ai été très clair, mais là, j'ai vraiment
besoin de vous. Merci à tous.

PAB/31/SAB