'Version du 16 mai 2013 'http://www.chdb.eu/?n=3452 'Script d aide à la restauration de tout un lot de bases SQL avec déplacement des fichiers. '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 tout un serveur à restaurer sur un autre qui n'a pas les même emplacements de répertoire, 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 NomBaseOriginal Dim NomBaseCourt Dim Position '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) CheminDataSQL = InputBox("Entrez le chemin du fichier du repertoire contenant les bases SQL","Bases SQL","D:\RepertoireAvecLesBases") CheminLogSQL = InputBox("Entrez le chemin du fichier du repertoire contenant les Logs SQL","Logs SQL","L:\RepertoireAvecLesLogs") '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 MyFile In objFolder.Files If ExtensionFichier(MyFile.Name) = "bak" Then NomBaseOriginal = MyFile.Name Position = InStrRev(NomBaseOriginal, ".") If Position > 0 Then 'NomBaseOriginal = Left(NomBaseOriginal,(Len(NomBaseOriginal)-24)) NomBaseCourt = Mid(NomBaseOriginal,1, Position-1) 'Wscript.Echo NomBaseOriginal objTextFile.WriteLine("RESTORE DATABASE """ & NomBaseCourt & """ FROM DISK = '" & MyFile.Path & "' with Replace, Move '" & NomBaseCourt & "_Data' to '" & CheminDataSQL & "\" & NomBaseCourt & ".MDF', move '" & NomBaseCourt & "_log' to '" & CheminLogSQL & "\" & NomBaseCourt & "_log.LDF'") End If End If Next objTextFile.Close Set objTextFile = Nothing Set objFolder = Nothing Set objFSO = Nothing Wscript.Echo "Terminé." 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