Windows Scripts
VBScript
Chronométrer le temps de redémarrage du PC



Pour : Windows


Voici un script VBS pour chronométrer le temps nécessaire à votre PC pour redémarrer.

Le principe de fonctionnement est simple, au lancement du script, l'horodatage va être enregistré dans une clé de registre et une autre clé de registre va être créé dans l'emplacement "Run" dans le but de relancer le même script au redémarrage.
Une fois la machine de redémarré et le script relancé automatiquement, la différence de temps entre l'horodatage de la clé de registre et l'heure actuel sera faite puis sera affiché dans une fenêtre MsgBox.

Voilà maintenant vous pouvez connaitre le temps nécessaire à votre PC pour redémarrer.
Vous pourrez ainsi mesurer l'éfficacité de chaque actions que vous pourrez faire pour accélérer l'arrêt et le démarrage de votre machine.

Voici à quoi ressemble les fenêtres:




Vous pouvez télécharger le script "ChronoReboot.vbs":


ChronoReboot.vbs




Voici le contenu du script VBS pour chronométrer le redémarrage de votre PC.

Option Explicit
On Error Resume Next

Dim Wshell, MessageFenetre, TitreFenetre, CleRegA, CleRegB, TempsCleRegA, URLscript, RetourMsgBox, CalculDifferenceTemps

Set Wshell = CreateObject("WScript.Shell")
MessageFenetre = "Veuillez fermer toutes les applications en cours d'execution." & Chr(10) & Chr(10) & "Voulez vous continuer ?"
TitreFenetre = "Chronometrer temps redemarrage"
CleRegA = "HKEY_CURRENT_USER\Software\ChronoReboot\"
CleRegB = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\ChronoReboot"
URLscript = """" & WScript.ScriptFullName & """"	 
TempsCleRegA = Wshell.RegRead(CleRegA & "Times")

if TempsCleRegA = "" then
  RetourMsgBox = Msgbox (MessageFenetre, vbYesNo, TitreFenetre)
      If RetourMsgBox = vbNo then WScript.quit
    Wshell.RegWrite CleRegA & "Times", left(Time,8), "REG_SZ"
    Wshell.RegWrite CleRegB, URLscript, "REG_SZ"
    Wshell.Run "cmd /c Shutdown -r -t 00", false, 0

else
  CalculDifferenceTemps = DateDiff("s",TempsCleRegA,left(Time,8))
  Wshell.RegDelete CleRegA
  Wshell.RegDelete CleRegB
  MsgBox "Redemarrage effectue en " & CalculDifferenceTemps & " secondes", VbInformation, TitreFenetre
end if

WScript.quit



Et voici maintenant le script VBS pour chronométrer le redémarrage de votre PC mais avec le détail de chaque commandes.
'*** Oblige a declarer toutes les variables dans le code afin d'eviter des erreurs
Option Explicit

'*** Permet de continuer le script même s'il y a une erreur
On Error Resume Next

'*** Declaration des variables
Dim Wshell, MessageFenetre, TitreFenetre, CleRegA, CleRegB, TempsCleRegA, URLscript, RetourMsgBox, CalculDifferenceTemps

'*** Creation de l'objet Shell
Set Wshell = CreateObject("WScript.Shell")

'*** Message de la fenetre
MessageFenetre = "Veuillez fermer toutes les applications en cours d'execution." & Chr(10) & Chr(10) & "Voulez vous continuer ?"

'*** Contenu du titre de la fenetre
TitreFenetre = "Chronometrer temps redemarrage"

'*** Chemein de la cle de registre pour enregistrer l'heure au moment de cliquer sur Oui
CleRegA = "HKEY_CURRENT_USER\Software\ChronoReboot\"

'*** Cle de registre pour enregistrer l'emplacement actuel du script afin de pouvoir le relancer après le redemarrage
CleRegB = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\ChronoReboot"

'*** Enregistrer l'emplacement du script dans une variable
URLscript = """" & WScript.ScriptFullName & """"

'*** Variable pour stocker la donnee (Heures, minutes, secondes) de la cle de registre
TempsCleRegA = Wshell.RegRead(CleRegA & "Times")


'*** Condition pour verifier si la variable TempsCleRegA est vide ou pleine
if TempsCleRegA = "" then

'*** Si la variable TempsCleRegA est vide la 1ere fenetre s'affiche
  RetourMsgBox = Msgbox (MessageFenetre, vbYesNo, TitreFenetre)

'*** Vous quittez le script VBS si vous avez cliquez sur Non
      If RetourMsgBox = vbNo then WScript.quit

'*** Si la variable TempsCleRegA est vide, ecriture de l'heure dans la clé CleRegA
    Wshell.RegWrite CleRegA & "Times", left(Time,8), "REG_SZ"

'*** Si la variable TempsCleRegA est vide, ecriture de l'URL du script dans la clé CleRegB
    Wshell.RegWrite CleRegB, URLscript, "REG_SZ"

'*** Si la variable TempsCleRegA est vide, redemarrage du PC
    Wshell.Run "cmd /c Shutdown -r -t 00", false, 0

'*** Sinon si la variable TempsCleRegA possede une donnee (Temps), execution des lignes ci-dessous
else

'*** Si la variable TempsCleRegA possede une donnee, calcul de la difference en secondes
  CalculDifferenceTemps = DateDiff("s",TempsCleRegA,left(Time,8))

'*** Suppression de la clé de registre CleRegA
  Wshell.RegDelete CleRegA

'*** Suppression de la clé de registre CleRegB
  Wshell.RegDelete CleRegB

'*** Affichage du temps dans un MsgBox
  MsgBox "Redemarrage effectue en " & CalculDifferenceTemps & " secondes", VbInformation, TitreFenetre

'*** Fin de la condition
end if								 	

'*** Quitter le script
WScript.quit								



Par O.Cédric
Sur www.octetmalin.net

Article publié le:
04/05/2020 04:03





Cette page vous à plus?

Dîtes que vous l'aimez en cliquant sur le bouton Facebook.