'Version du 22 mars 2012 'Maj du 28/04/2017 : Modification pour restaurer les backups des bases qui sont dans des sous-répertoires 'http://www.chdb.eu/?n=3112 'Script d aide à la restauration de tout un lot de bases SQL. 'Ce script se place dans le répertoire contenant les fichiers de backups à restaurer 'Il génèrera un fichier avec des commandes de restauration indiquant une modification de l'emplacement des bases et logs SQL 'Restera à contrôler les commandes avant exécution 'Quand il y a une vingtaine de bases par exemple à restaurer, cela aide ... Dim objFSO 'Objet FSO pour l'accès au système de fichiers Dim MyFile 'Représente un fichier Dim objTextFile 'Représente le fichier texte qui contient les réponses Dim NomBase 'Déclaration des constantes pour la lecture et l'ecriture dans les fichiers Const ForReading = 1 Const ForWritting = 2 Const ForAppending = 8 CheminScriptActuel = Left(wscript.scriptfullname,Len(wscript.scriptfullname)-Len(wscript.scriptname)-1) CheminFichierResultat = CheminScriptActuel & "\" & "Fichier de Sortie.txt" CheminRepertoireAExplorer = InputBox("Entrez le chemin du répertoire avec les backups","Chemin du répertoire",CheminScriptActuel) CheminFichierResultat = InputBox("Entrez le chemin du fichier contenant le resultat","Chemin du fichier de reponse",CheminFichierResultat) 'Création des objets Set objFSO = CreateObject("Scripting.FileSystemObject") 'On fait un objet qui représente le répertoire à explorer Set objFolder = objFSO.GetFolder(CheminRepertoireAExplorer) Set objTextFile = objFSO.OpenTextFile(CheminFichierResultat, ForWritting, True) For Each ObjSubFolder In objFolder.SubFolders For Each MyFile In ObjSubFolder.Files If ExtensionFichier(MyFile.Name) = "bak" Then 'NomBase = MyFile.Name 'NomBase = Left(NomBase,(Len(NomBase)-4)) 'On retire l'extension .bak NomBase = ObjSubFolder.Name 'Wscript.Echo NomBase objTextFile.WriteLine("RESTORE DATABASE """ & NomBase & """ FROM DISK = '" & MyFile.Path & "' with Replace") End If Next Next objTextFile.Close Set objTextFile = Nothing Set objFolder = Nothing Set objFSO = Nothing Wscript.Echo "Termine !" Public Function ExtensionFichier(ByVal CheminFichier) 'Retourne l'extension du fichier Dim Position ExtensionFichier = "" Position = InStrRev(CheminFichier,".") If (Position > 0) And (Position < Len(CheminFichier)) Then ExtensionFichier = Mid(CheminFichier,Position+1) End If End Function