IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

[VB Script]Lister quelques points de restauration


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2008
    Messages : 240
    Par défaut [VB Script]Lister quelques points de restauration
    Bonjour à tous

    je n'y connais rien en vbscript mais on m'a dit de poster dans ce forum.

    Jai trouvé un script vbs qui permet de lister les points de restaurations.

    j'ai un peu epuré le code ce qui donne ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Set dtmConvertedDate = CreateObject("WbemScripting.SWbemDateTime")
     
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\default")
     
    Set colItems = objWMIService.ExecQuery("Select * from SystemRestore")
    If colItems.Count = 0 Then
    WScript.Echo "No restore point in system."
    Else
    For Each objItem in colItems
    Wscript.Echo " " & dtmCreationTime & objItem.Description
    dtmConvertedDate.Value = objItem.CreationTime
    dtmCreationTime = dtmConvertedDate.GetVarDate 
    Next
    End If
    J'appelle ce vbs via la commande cscript dans un batch et je stocke les infos dans un txt.

    Mon soucis est que je n'ai pas d'espace entre la date et le nom du point de restauration
    et je souhaiterai qu'il affiche uniquement les 5 derniers points de restauration.

    Comment faire ? pourriez vous m'orienter ou me modifier ce morceau de code ?
    merci d'avance aux membres qui me repondront

    bonne journée
    Acris

  2. #2
    Membre expérimenté Avatar de Faladin
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    333
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 333
    Par défaut
    Pour l'espace:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For Each objItem in colItems
    Wscript.Echo " " & dtmCreationTime & " " & objItem.Description 'espace = " "
    dtmConvertedDate.Value = objItem.CreationTime
    dtmCreationTime = dtmConvertedDate.GetVarDate 
    Next
    Pour en affiché que 5:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim i as integer = 0
    For Each objItem in colItems
    if i <5 then
       Wscript.Echo " " & dtmCreationTime & objItem.Description
       dtmConvertedDate.Value = objItem.CreationTime
       dtmCreationTime = dtmConvertedDate.GetVarDate 
    else
       Exit For
    End if
    Next
    Pour affiché que les 5 derniers par contre, ça ne fonctionnera probablement pas, car le "For Each" Scan tout le paquet, et doit se foutre passablement de l'ordre dans laquelle il apparaisse. Il faudrait donc que tu insères le tout dans un tableau, tri par dates et imprime que les 5 premiers avec une boucle for:

    EDIT: 0 to 4 et non to 5, le 0 compte

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2008
    Messages : 240
    Par défaut
    merci beaucoup pour ton aide
    oula j'ai dejà eu du mal à arriver jusque là alors maintenant un tableau ouch c'est du chinois
    j'y arriverai jamais ..... programmation tu me tues !

    il n'y a pas moyen de tri par date genre la plus recent puis 4 3 2 1 pour avoir les 5 derniers uniquement ?

  4. #4
    Membre expérimenté Avatar de Faladin
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    333
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 333
    Par défaut
    Oui trier mais tu peux pas trier dans le vide, il faut que tu mets tout tes données à quelque part avant!

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2008
    Messages : 240
    Par défaut
    arf j'ai pas de bol

    le code me retourne une erreur lorsque je l'execute dans le batch : erreur (10,7)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    Set dtmConvertedDate = CreateObject("WbemScripting.SWbemDateTime")
     
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\default")
     
    Set colItems = objWMIService.ExecQuery("Select * from SystemRestore")
    If colItems.Count = 0 Then
    WScript.Echo "No restore point in system."
    Else
    Dim i as integer = 0
    For Each objItem in colItems
    if i <5 then
    Wscript.Echo " " & dtmCreationTime & " " & objItem.Description 'espace = " "
    dtmConvertedDate.Value = objItem.CreationTime
    dtmCreationTime = dtmConvertedDate.GetVarDate 
    else
       Exit For
    End if
    Next
    For i = 0 to 4
    pourquoi ?

  6. #6
    Membre expérimenté Avatar de Faladin
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    333
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 333
    Par défaut
    Tu peux pas que mettre le

    Dans le vide...

    Honnêtement j'ai pas vraiment le temps de régler ça vendredi, mais il semble te manquer des notions en VB, je vais essayer de revenir voir lundi et de t'aider dans ton code...

    J'espère que c'est pas pour aujourd'hui

Discussions similaires

  1. Script pour activer Point de restauration si non actif
    Par chabin972 dans le forum Programmation système
    Réponses: 1
    Dernier message: 17/02/2015, 14h51
  2. Réponses: 0
    Dernier message: 13/10/2014, 14h26
  3. SCRIPT Désactiver / Activer Point de restauration
    Par gicinternational dans le forum VBScript
    Réponses: 3
    Dernier message: 04/05/2010, 14h46
  4. quelques problèmes script lister répertoire
    Par hubald dans le forum VBScript
    Réponses: 4
    Dernier message: 02/02/2009, 11h58
  5. point de restauration
    Par PoOky dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 02/09/2005, 17h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo