' ---------------------------------------------------------- ' Script de téléchargement des fichiers d'archivage du site JCB ' Syntaxe : ' getjcbsite ' Ce script nécessite le contrôle ActiveX "jcb.ocx" ' ' JC BELLAMY © 2004 ' ---------------------------------------------------------- root="http://www.bellamyjc.net/download/" Nfic=18 Title="Téléchargement du site JCB" Const SW_SHOWNORMAL=1 Set args = Wscript.Arguments Set shell = WScript.CreateObject("WScript.Shell") Set fso = WScript.CreateObject("Scripting.FileSystemObject") Folder=InputBox("Indiquez le dossier de destination des fichiers :", title,"c:\SiteJCB") If folder="" Then wscript.quit If not fso.FolderExists(Folder) Then rep=MsgBox("Le dossier " & Folder & " n'existe pas" & VBCRLF & _ "Faut-il le créer ?", vbYesNo + vbQuestion, Title) If rep=vbYes Then SuperCreateFolder Folder else wscript.quit end if If right(Folder,1)<>"\" Then Folder=Folder & "\" jcbCOM="jcb.tools" TestCOMExists jcbCOM,"jcb.ocx" set tools = wscript.CreateObject(jcbCOM,"event_") erreur=false rep=shell.Popup("Le téléchargement va commencer" & VBCRLF & _ "Veuillez patienter...",3,Title,vbOKCancel) If rep=vbCancel Then wscript.quit For i = 1 To Nfic Select Case i Case 1 FileName="jcb.part01.exe" Case 2,3,4,5,6,7,8,9 FileName="jcb.part0" & i & ".rar" Case else FileName="jcb.part" & i & ".rar" End Select Dest=Folder & FileName rep=vbNo If fso.fileExists(Dest) Then rep=shell.Popup("Le fichier " & FileName & " existe déjà" & VBCRLF & _ "Faut-il annuler son téléchargement" & VBCRLF & _ "et passer au suivant?",5,Title,vbYesNo + vbQuestion) End If If rep<>vbYes Then URL=root & FileName res=tools.GetWebFile(URL,Dest) If res Then msg="Fichier " & FileName & " copié dans " & Folder else erreur=true msg="Erreur de téléchargement du fichier " & Filename end if rep=shell.Popup(msg,3,Title,vbOKCancel) If rep=vbCancel Then MsgBox "Téléchargement interrompu",vbOKOnly, title wscript.quit End If End If Next If erreur Then MsgBox "Erreur dans les transferts",vbOKOnly, title Else shell.run chr(34) & Folder & "jcb.part01.exe" & chr(34),SW_SHOWNORMAL End If Wscript.quit '-------------------------------------------------------------------- ' Fonction de récupération du répertoire courant Function GetPath() Dim path path = WScript.ScriptFullName GetPath = Left(path, InStrRev(path, "\")) End Function '-------------------------------------------------------------------- Sub TestCOMExists(name,module) ' Vérification d'installation d'un objet COM on error resume next clef="HKCR\" & name & "\" dummy = shell.RegRead(Clef) if err.number<>0 then ' contrôle ActiveX non enregistré pathmodule=getpath()& module If not fso.fileExists(pathmodule) Then Mess = "Le contrôle ActiveX " & name & " est requis." & VBCRLF Mess=Mess & "Il est contenu dans le fichier " & module & VBCRLF Mess=Mess & "Or ce fichier n'a pas été trouvé." & VBCRLF MsgBox Mess, vbOKOnly + vbExclamation wscript.quit End If err.clear shell.Run "regsvr32.exe /s " & chr(34) & pathmodule & chr(34), SW_SHOWNORMAL,true dummy = shell.RegRead("HKCR\" & name & "\") if err.number<>0 then Mess = "Le contrôle ActiveX " & name & " n'a pas pu être enregistré" MsgBox Mess, vbExclamation wscript.quit end if end if End Sub '-------------------------------------------------------------------- ' sous-programme de création récursive de dossier Sub SuperCreateFolder(fd) If fd="" Then exit sub bs=InstrRev(fd,"\") parent=left(fd,bs-1) If len(parent)>2 Then If not fso.FolderExists(parent) then SuperCreateFolder Parent End If fso.CreateFolder(fd) End Sub '--------------------------------------------------------------------