bonjour

j'ai un problème dans mon code à la ligne 238:48 : "expected ')' !
ça correspond à la ligne de déclaration de la fonction :

"Public Function ExtractFileExt(ByVal sFullPath As String) As String"


mais je ne vois vraiment pourquoi cette parenthèse manquerait !

Si une âme charitable pouvait jeter un oeil, moi j'ai jeté l'éponge. J'ai tiré la plupart du code de scripts déjà existants donc je ne vois pas ce qui bloque ...

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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
'==========================================================
'
' LANGUAGE		: VBScript     
' NOM			: special_sismo.vbs
' VERSION		: 0.1
' DATE  		: 2009/02/17
' DESCRIPTION 	: 
'
' COMMENTAIRES	: Permet la Maj de l'application SISMO et Arch Edition Tomcat
' ENTREE		: N/A
' SORTIE		: N/A
'==========================================================
'==========================================================
 
Option Explicit
'On Error Resume Next
 
'Variables Déclaration
Dim ObjFSO, objWsh, wshenv, strScriptPath, WshShell, PathScript
Dim strFicEnv, objFic
Dim StrComputer, colServiceList, objWMIService, objService, errReturn, svcTomcat
Dim CatalinaHome, CatalinaOpts, JavaHome, version
Dim repTomcat, repSismo, rootSismo, rootTomcat, sismo, tomcat
Dim repBackup, sasEdition, sasImages, sasRuntime, sasApplications
 
'recup variables systeme
Set objWsh = WScript.CreateObject("WScript.Shell")
Set objWshEnv = objWsh.Environment("process")
 
'INIT
Set ObjFSO = CreateObject("Scripting.FileSystemObject")
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & StrComputer & "\root\cimv2")
strScriptPath = ObjFSO.GetParentFolderName(WScript.ScriptFullName)
 
'chemin du script
PathScript = objFSO.GetParentFolderName(WScript.ScriptFullName)
 
'Déclaration
version = "x.y.z"
StrComputer = "."
 
strFldr = "C:\Changements\log"
strFile = "special_sismo_" & version & ".log"
 
svcTomcat = "Tomcat5"
 
repBackup = "D:\BACKUP\"
repSasSismo = objWsh.ExpandEnvironmentStrings(objWshEnv("SAS_SISMOCUBEV5"))
repSasTomcat = objWsh.ExpandEnvironmentStrings(objWshEnv("SAS_TOMCAT"))
 
rootSismo = "C:\Program Files\"
sismo = "SismoCubev5"
repSismo = rootSismo & sismo
 
rootTomcat = "D:\"
tomcat = "Tomcat_5.5\webapps\edition"
repTomcat = rootTomcat & tomcat
 
sasApplications = repSasSismo & "\Applications"
sasRuntime = repSasSismo & "\Runtime"
sasEdition = repSasTomcat & "\edition"
sasImages = repSasTomcat & "\Images"
 
'==========================================================
'INSTALL SISMO + TOMCAT : BEGIN
'==========================================================
For Each objFic In ShowFolderList(PathScript)
MsgBox "fichier : " & objFic
MsgBox "fichier nom : " & objFic.Name
 
if UCase(ExtractFileExt(objFic.Name)) <> "PRM" Then Continue
 
strFicEnv = ExtractFileNameNoExt(objFic.Name)
MsgBox "fichier PRM trouvé : " & objFic.Name & " = " & strFicEnv & " : OK"
 
'
'
'
'recuperation de la variable %strFicEnv% dans repSismo
'
'
'
 
Trace "[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]"
Trace "[][][][][][] INSTALL SISMO et ARCH TOMCAT - SI IARD : " & strFicEnv
Trace "[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]"
Trace ""
 
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Trace "[ Arrêt du service " & svcTomcat & " ]"
 
	Set colServiceList = objWMIService.ExecQuery ("Select * from Win32_Service where Name='" & svcTomcat & "'")
	For Each objService In colServiceList
		If UCase(objService.State) = "STOPPED" Then
			Trace vbTab & "Le service " & svcTomcat & " est déjà stoppé"
		Else
		    errReturn = objService.StopService()
		    WScript.Sleep 18000
		    If errReturn <> 0 Then
		            Trace vbTab & "Impossible d'arrêter le service " & svcTomcat
		            Trace vbTab & "Sortie du Script..."
		            'Call fin_script()
		    Else
		            Trace vbTab & "Le service " & svcTomcat & " vient d'être stoppé."
		    End If
		End If
	Next
 
 
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 
Trace "[ Backup du répertoire SISMO ]"
 
	If Not ObjFSO.FolderExists (repBackup) Then ObjFSO.CreateFolder (repBackup)
 
	If ObjFSO.FolderExists (repSismo) Then
		ObjFSO.CopyFolder (repSismo), (repBackup), True
		Trace vbTab & "Backup du répertoire " & repSismo & " sur " & repBackup & " --> OK"
	Else
		Trace vbTab & "Le répertoire " & repSismo & " n'est pas accessible --> Sortie du script"
		Call fin_script()
	End If
MsgBox "Backup SISMO sous " & repBackup & " : OK"
 
Trace "[ Backup des répertoires de TOMCAT ]"
 
	If Not ObjFSO.FolderExists (repBackup) Then ObjFSO.CreateFolder (repBackup)
 
	If ObjFSO.FolderExists (repTomcat) Then
		ObjFSO.CopyFolder (repTomcat), (repBackup), True
		Trace vbTab & "Backup du répertoire " & repTomcat & " sur " & repBackup & " --> OK"
	Else
		Trace vbTab & "Le répertoire " & repTomcat & " n'est pas accessible --> Sortie du script"
		Call fin_script()
	End If
MsgBox "Backup TOMCAT sous " & repBackup & " : OK"
 
 
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 
Trace "[ Installation de la version " & version & " de SISMO ]"
	Err.clear
 
	If Not ObjFSO.FolderExists (repSismo) Then Call fin_script()
 
	Trace "[ Copie des ASPX de SISMO ]"
	If ObjFSO.FolderExists (sasApplications) Then
		ObjFSO.CopyFolder (sasApplications), (repSismo & "\"), True
		Trace vbTab & "Copie du répertoire " & sasApplications & " sur " & repSismo & "\ --> OK"
	Else
		Trace vbTab & "Le répertoire " & sasApplications & " n'est pas accessible --> Sortie du script"
		Call fin_script()
	End If
 
	Trace "[ Copie des DLL de SISMO ]"
	If ObjFSO.FolderExists (sasRuntime) Then
		ObjFSO.CopyFolder (sasRuntime), (repSismo & "\"), True
		Trace vbTab & "Copie du répertoire " & sasRuntime & " sur " & repSismo & "\ --> OK"
	Else
		Trace vbTab & "Le répertoire " & sasRuntime & " n'est pas accessible --> Sortie du script"
		Call fin_script()
	End If
MsgBox "install SISMO " & version & " sous " & repSismo & "\ : OK"
 
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 
Trace "[ Installation de la version " & version & " de TOMCAT ]"
	Err.clear
 
	If Not ObjFSO.FolderExists (repTomcat) Then Call fin_script()
 
	Trace "[ Copie des XSL de TOMCAT ]"
	If ObjFSO.FolderExists (sasEdition) Then
		ObjFSO.CopyFolder (sasEdition), (repTomcat & "\"), True
		Trace vbTab & "Copie du répertoire " & sasEdition & " sur " & repTomcat & "\ --> OK"
	Else
		Trace vbTab & "Le répertoire " & sasEdition & " n'est pas accessible --> Sortie du script"
		Call fin_script()
	End If
 
	Trace "[ Copie des Images de TOMCAT ]"
	If ObjFSO.FolderExists (sasImages) Then
		ObjFSO.CopyFolder (sasImages), (repTomcat & "\"), True
		Trace vbTab & "Copie du répertoire " & sasImages & " sur " & repTomcat & "\ --> OK"
	Else
		Trace vbTab & "Le répertoire " & sasImages & " n'est pas accessible --> Sortie du script"
		Call fin_script()
	End If
MsgBox "install TOMCAT " & version & " sous " & repTomcat & "\ : OK"
 
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 
 
Trace "[ Démarrage du service " & svcTomcat & " ]"
 
	Set colServiceList = objWMIService.ExecQuery ("Select * from Win32_Service where Name='" & svcTomcat & "'")
	For Each objService In colServiceList
		If UCase(objService.State) = "STARTED" Then
			Trace vbTab & "Le service " & svcTomcat & " est déjà lancé"
		Else
		    errReturn = objService.StartService()
		    WScript.Sleep 18000
 
		    If errReturn <> 0 Then
		            Trace vbTab & "Impossible de lancer le service " & svcTomcat & " : " & Err.Description
		            Trace vbTab & "Sortie du Script"
		            'ObjFSO.CreateTextFile ("MajTomcat55.KO"), True
		    Else
		            Trace vbTab & "Le service " & svcTomcat & " vient d'être lancé."
		    End If
		End If
	Next
 
'MsgBox "Maj Service Tomcat5"
 
Trace "--> Fin dde l'installation SISMO + TOMCAT version " & version
 
'==========================================================
'INSTALL SISMO + TOMCAT : END
'==========================================================
Next
 
Call fin_script()
 
'==========================================================
'Procédures
'==========================================================
 
 
'recup extention fichier ===================================
Public Function ExtractFileExt(ByVal sFullPath As String) As String
    Dim sName As String
    sName = ExtractFileName(sFullPath)
    If InStr(sName, ".") = 0 Then
        ExtractFileExt = ""
    Else
        ExtractFileExt = Mid(sName, InStrRev(sName, ".") + 1)
    End If
End Function
 
'recup nom fichier sans extention =========================
Public Function ExtractFileNameNoExt(ByVal sFullPath As String) As String
    Dim sName As String
    sName = ExtractFileName(sFullPath)
    If InStr(sName, ".") = 0 Then
        ExtractFileNameNoExt = sName
    Else
        ExtractFileNameNoExt = Split(sName, ".", 1)
    End If
End Function
 
'lister le repertoire =====================================
Public Function ShowFolderList(strPath)
 Dim fso, Dossiers, fic, fichiers, strListe
 Set fso = CreateObject("Scripting.FileSystemObject")
 Set Dossiers = fso.GetFolder(strPath)
 objShowFolderList = Dossiers.Files
 End Function
 
'ecrire dans la log =======================================
Public Function Trace(strLine)
Dim objFSO, objLog, strFldr, strFile
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objWsh = WScript.CreateObject("WScript.Shell")
 
'strFldr = "C:\Install\Logs"
'strFile = "Special_PatchARCH004.log"
 
If Not objFSO.folderexists(strFldr) Then
    objWsh.Run "%comspec% /c MD " & strFldr, 0, True
End If
 
If (objfso.FileExists(strFldr & "\" & strFile)) Then
	Set objLog = objFSO.OpenTextFile(strFldr & "\" & strFile, 8, False)
	objLog.WriteLine Now() & " :" & vbTab & StrLine
	objLog.Close
	Set objLog = Nothing
Else 
	Set objLog = objFSO.OpenTextFile(strFldr & "\" & strFile, 2, True)
	 objLog.WriteLine Now() & " :" & vbTab & "---------------------------------------------------------------------------------"
	 objLog.WriteLine Now() & " :" & vbTab & "                        Début du script " & WScript.ScriptName
	 objLog.WriteLine Now() & " :" & vbTab & "---------------------------------------------------------------------------------"
	 objLog.WriteLine Now()
	 objLog.WriteLine Now() & " :" & vbTab & StrLine
	 objLog.Close
	 Set objLog = Nothing
End If
End Function
 
'clore la log et quitter =================================
Function fin_script
 Trace VbCrLf & Now() & " :" & vbTab & "---------------------------------------------------------------------------------"
 Trace "                        Fin du script " & WScript.ScriptName
 Trace "---------------------------------------------------------------------------------"
 Set objWsh = Nothing
 Set ObjFSO = Nothing
 
 MsgBox "LOG : " & strFile
 WScript.Quit 0
End Function
 
'==========================================================		
'Fin Procédures
'==========================================================
merci !