Bonjour à tous,

je rencontre un petit souci lors de l'éxecution de mon script qui n'est pas complet.

Je suis allé voir dans les aides de VBS mais pas toujours evident pour moi.


L'idéal serait toutefois qu'un bienfaiteur,trouve le temps (pas evident) de se pencher sur mon problème

Voici ce que je souhiaterais :


1/ Poser un lock1 du même nom que le fichier 123456789.zip(contiens des .xml) reçu dans "Xmlin_temp"

2/ Deplacement du fichier 123456789x.zip de "Xmlin_temp" vers "Traitement"

3/ Decompresser le fichier 123456789.zip (avec 7zip) de "Traitement" vers "Xmlin_non_natif"

4/ Copy du lock1 dans "Fichiers_doublons\Lock"

5/ Suppression du lock1 dans "input\Xmlin_temp"

Si récèption en double du fichier xxxxxxxxx.zip dans "Xmlin_temp"

6/ Vérification du fichier.lock1 dans "Fichiers_doublons\Lock"

Si le lock1est present Message = verification du lock déja présent = fichier déjà traité déplacement dans le dossier (Fichiers doublons)

7/ Déplacement du fichier xxxxxxxxx.zip en double vers "Fichiers_doublons"

Fin


merci encore à tous

Mon script :

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
'------------------------
'Declaration variables
'------------------------
Dim Centre, Plaque, Source, Destination, Log
Dim objFSO, FileLog, oShell, WshShell, oFS, Lock, objflag, fileflag
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objArgs = Wscript.Arguments
 
VERSION="1.00"
centre = objArgs(0)
Select Case Centre
Case "Opera"
	Plaque="PARIS"
Case "Bastille"
	Plaque="PARIS"
Case "Capitole"
	Plaque="Toulouse"
Case Else
	Wscript.echo "Erreur dans le parametre"
	wscript.quit(2)
End Select
 
MyDate = Year(Now) & "" & Month(Now) & "" & Day(Now) & "_" & Hour(Now)& "" & Minute(Now)
 
LOG="C:\Appli\Fichiers_doublons\Log\XML.VBS_"& MyDate &".log"
 
Set fso = Wscript.CreateObject("Scripting.FileSystemObject")
Set FileLog = FSO.CreateTextFile(Log)
 
FICH= "*.zip"
Lock="C:\Appli\Fichiers_doublons\Lock\" & Centre & "_XML.lock"
Traitement="C:\Appli\Ville_" & plaque & "\Entité_" & Centre & "\input\Xmlin_temp\Traitement"
Save="C:\Appli\Ville_" & plaque & "\Entité_" & Centre & "\input\Xmlin_temp\save"
Xmlin_temp="C:\Appli\Ville_" & plaque & "\Entité_" & Centre & "\input\Xmlin_temp"
REP_XMLIN="C:\Appli\Ville_" & plaque & "\Entité_" & Centre & "\input\Xmlin_non_natif"
Zip_cmd = "D:\7-Zip\7z.exe"
 
 
'--------------------------------------------
'Initialisation des log pour chaque centre
'--------------------------------------------
Sub Msglog(severite,code,label)
	wscript.echo Mydate & "-" & time & " " & severite & " " & code & " " & label
	FileLog.WriteLine(Mydate & "-" & time & " " & severite & " " & code & " " & label)
End sub
 
 
 
'------------------------------------------
'Vérification du lock pour chaque centre
'------------------------------------------
Sub Verif_Lock1
	msglog "0","0000","-Debut: Verification de la non presence du Lock pour le centre " & centre
		If objFSO.FileExists(Lock) Then
	msglog "1","0001","WARNING: Programme deja lance pour le centre " & centre
		wscript.quit (8)
		else
			Set objflag = WScript.CreateObject("Scripting.FileSystemObject")
	msglog "0","0000","-Debut: Pose Lock " & Lock & " pour le centre " & centre
			Set fileflag=objflag.CreateTextFile(Lock, true)
	msglog "0","0000","-Fin: Pose du Lock " & Lock & " pour le centre " & centre
		end if
	msglog "0","0000","-Fin: Verification non presence flag Fin Archivage pour le centre " & centre
end sub
 
'--------------------------------------------------------------------
'Test de la présence de fichier zip pour chaque centre
'--------------------------------------------------------------------
Sub Verif_ZIP
	msglog "0","0000","-Debut: Verification presence des fichiers  " & FICH & " dans  " & Xmlin_temp & " pour le centre " & centre
	If objFSO.FileExists(FICH) Then
		msglog "0","0000"," "& FICH & " present dans " & Xmlin_temp & " pour le centre " & centre
	else 
		msglog "1","0001","WARNING: Pas de fichiers " & FICH & " dans " & Xmlin_temp & " pour le centre " & centre
		wscript.quit (8)
	end if
	msglog "0","0000","-Fin: Verification presence des fichiers  " & FICH & " dans  " & Xmlin_temp & " pour le centre " & centre
End sub
 
 
 
'------------------------------------
'Decompression du xml.zip dans input\Xmlin_non_natif
'------------------------------------
 
Sub Decompress 
Set oShell = Wscript.CreateObject("Wscript.Shell")
	msglog "0","0000","---Debut:------- Decompression du fichiers " &  Xmlin_temp  & " pour le centre " & centre
ZIP_CMD = "D:\7-Zip\7z.exe"
oShell.Run  chr(34) & ZIP_CMD  & chr(34) & " x -o " & Xmlin_temp & "", 0,True
	msglog "0","0000","---Fin:--------- Compression du Dossier " &  Xmlin_temp  & " pour le centre " & centre
End sub
 
'---------------------
' Corps su script
'---------------------
 
msglog "0","0000","---Debut:------- xml.vbs "
Verif_Lock1
Verif_ZIP
Verif_Lock
Decompress
msglog "0","0000","---Fin:--------- xml.vbs"
FileLog.Close