Crée une sauvegarde de la base données et ouvre le programme Médycs avec son mot de passe
Un petit programme en VBS que tout le monde peut écrire
Pour créer une sauvegarde de GYNDATA à chaque démarrage de MedyCS
Je m’en sers en fait surtout pour lancer MédyXChange.
Le programme crée un jeu de 7 sauvegardes selon le jour de la semaine (de 1 à 7 avec Copie [1] = Dimanche)
De cette façon il existe une seule sauvegarde par jour, avec un maximum de 7 par semaine pour ne pas surcharger le dossier BDCS
Le Script Run&Backup_MEDYCS admet 2 arguments en ligne de commande
- Le mot de passe de Médycs (car le script ouvre automatiquement le programme)
- La présence d’un second argument (quelle que soit sa valeur) efface les boites de dialogue (mode silence)
Exemples :
Run&Backup_MEDYCS
(par défaut)
|
|
Run&Backup_MEDYCS “aaaaaa”
(remplacer par son propre mot de passe)
|
|
Run&Backup_MEDYCS “aaaaaa” OK
(mode silence)
|
|
Script VBS
Créer un fichier texte nommé (comme vous voulez) ici Run&Backup_MEDYCS.VBS et copiez collez ces lignes
- Il faut modifier les chemins de Médycs Client (program files) et Medycs Serveur (c:\medycs) au besoin
' DECLARATIONS DES OBJETS Set Args = WScript.Arguments Set FileSystem = WScript.CreateObject("Scripting.FileSystemObject") Set WindowShell = CreateObject("WScript.Shell") ' DECLARATION DES VARIABLES Dim Source_MEDYCS, Source_GynDATA, Cible_BACKUP ' Fichiers à copier Dim Medycs_EXE , PW ' DECLARATION:AFFECTATIONS PAR DEFAUT Dim IntDAY : IntDAY = Weekday(Now) ' Jour de la semaine Dim OK_MODE : OK_MODE = False ' --- ENTREZ LE CHEMIN DE GYNDATA --- Source_MEDYCS = "c:\medycs\" Source_GynDATA = "bdcs\GYNDATA.FDB" ' -------- NE PAS MODIFIER EN DESSOUS -------- Source_GynDATA = Source_MEDYCS & Source_GynDATA Cible_BACKUP = Replace(Source_GynDATA, "GYNDATA", "GYNDATA - Copie [" & CStr(IntDAY) & "]") ' OK mode = 1 => supprime les boites de confirmations ! If Args.Count > 1 Then if Args(1) <> "" Then OK_MODE = True If OK_MODE Then FileSystem.CopyFile Source_GynDATA, Cible_BACKUP ' COPIE SANS CONFIRMATIION Else If MsgBox ( "Sauvegarder la BASE avant de lancer MédyCS ?", vbOKCancel + vbQuestion,Cible_BACKUP) = 1 Then FileSystem.CopyFile Source_GynDATA, Cible_BACKUP End if End if ' --- LANCE MEDYCS --- If Args.Count > 0 Then PW = Args(0) Else PW = "" End If WindowShell.Run( """C:\Program Files (x86)\MedyCS\MedyCS.exe""") ' ATTEND X SECONDES (A tester selon configuration) Wscript.sleep 1000 ' MOT DE PASSE MEDYCS If PW <> "" Then ' Uniquement si Mot de Passe défini ' TAPE ENTREE WindowShell.SendKeys ("{ENTER}") Wscript.sleep 500 ' MOT DE PASSE (argument 1) WindowShell.SendKeys (PW) Wscript.sleep 500 ' TAPE ENTREE WindowShell.SendKeys ("{ENTER}") WScript.sleep 500 End If ' Ouvre le dossier BDCS a la fin If Not OK_MODE Then If MsgBox ( "Explorer le dossier de Sauvegarde ?", vbOKCancel + vbQuestion,Cible_BACKUP) = 1 Then WindowShell.Run( "explorer.exe /e," & FileSystem.GetParentFolderName(Cible_BACKUP)) End if End If ' LIBÈRE LES RESSOURCES Set FileSystem = Nothing Set WindowShell = Nothing Set Args = Nothing