VBS : Run & Backup MEDYCS

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

  1. Le mot de passe de Médycs (car le script ouvre automatiquement le programme)
  2.  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)
  1. Fait une copie de Gyndata après confirmation
  2. Lance MédycCS
  3. Et ouvre le dossier BDCS après confirmation
Run&Backup_MEDYCS “aaaaaa”

(remplacer par son propre mot de passe)
  1. Fait une copie de Gyndata après confirmation
  2. Lance MédycCS sans demander le mot de passe
  3. Et ouvre le dossier BDCS après confirmation
Run&Backup_MEDYCS “aaaaaa” OK

(mode silence)
  1. Fait une copie de Gyndata sans confirmation
  2. Lance MédycCS sans demander le mot de passe

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

Laisser un commentaire