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 :

Attendre la fin d'un processus


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 102
    Par défaut Attendre la fin d'un processus
    Bonjour à tous,

    j'ai un script qui effectue pas une dizaine de compressions dans des dossiers differents en vue de faire des sauvegardes. De dernier fonctionne, mais le nombre de fichier peut varier d'un mois sur l'autre.

    N'étant pas un pro du VBS, je souhaiterais savoir si il était possible
    avec cette méthode de compression, de ne pas passer par un:

    wScript.Sleep xxxxxxx

    mais d'attendre la fin de la premiere compréssion pour passer à l'autre.


    Je vous remercie d'avance à tous



    Extrait de mon code


    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    '-----------------------------------------
    'Compression les logs pour archivage
    '-----------------------------------------
    Sub COMPRESS
    		msglog "0","0000","---Debut:	Compression 
    Set oShell = CreateObject("WScript.Shell")
    Set oFileSys = CreateObject("Scripting.FileSystemObject")
     
    ListeSrv = "Charge;comptes;reçus"
    ListeCommon = "editions;resultats;production"
     
     
    		msglog "0","0000","---Debut:	Compression
    For Each Centre In Split(ListeCentre,";",-1)
     
    	Source = "C:\appli\Traitement\" & Centre & "\log"
    	Destination = "K:\Sauvegarde\Traitement\log_" & Centre & "_" & MyDate & ".zip"
     
    	MyHex = _
    Array(80, 75, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
     
    For i = 0 To UBound(MyHex)
        MyBinary = MyBinary & Chr(MyHex(i))
    Next
     
    Set oCTF = oFileSys.CreateTextFile(Destination, True)
    oCTF.Write MyBinary
    oCTF.Close
    Set oCTF = Nothing
     
    Set oApp = CreateObject("Shell.Application")
     
    Set oFolder = oApp.NameSpace(Source)
    If Not oFolder Is Nothing Then _
        oApp.NameSpace(Destination).CopyHere oFolder.Items
     
    wScript.Sleep 100000
     
    Set oFile = Nothing
     
    		msglog "0","0000","---Fin:	Compression 
    Next
     
    		msglog "0","0000","---Debut:	Compression 
    For Each Srv In Split(ListeSrv,";",-1)
     
    	Source1 = "C:\appli\Traitement\Export_" & Srv & "\log"
    	Destination1 = "K:\Sauvegarde\Traitement\Log_" & Srv & "_" & MyDate & ".zip"
    MyHex = _
    Array(80, 75, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
     
    For i = 0 To UBound(MyHex)
        MyBinary = MyBinary & Chr(MyHex(i))
    Next
     
    set oCTF = oFileSys.CreateTextFile(Destination1, True)
    oCTF.Write MyBinary
    oCTF.Close
    Set oCTF = Nothing
     
    Set oApp = CreateObject("Shell.Application")
     
    Set oFolder = oApp.NameSpace(Source1)
    If Not oFolder Is Nothing Then _
        oApp.NameSpace(Destination1).CopyHere oFolder.Items
     
    wScript.Sleep 100000
     
    Set oFile = Nothing
    		msglog "0","0000","---Fin:	Compression 
    Next

  2. #2
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 302
    Par défaut
    bonjour,
    tiens je croyais que tu utilisais 7z

    pour ce qui est de l'inévitable hack pourri CopyHere du Shell, voir ici

    maintenant, Rob van der Woude a donné un exemple de ce hack avec un polling sur le nb de fichiers pour éviter le sleep joufflu
    que j'évoquais dans le message ci-dessus
    (il donne aussi, un exemple avec l'activeX d'XStandard qui est beaucoup + efficace...)
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

  3. #3
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 102
    Par défaut Attendre la fin d'un processus
    Merci à tous,

    j'ai trouvé un autre moyen, plusieurs scripts déclenchés par un ordonnanceur.
    Pas très élégant mais efficace.

    Cordialement

    PAB/31/SAB

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Attendre la fin d'un processus
    Par nico_kurt dans le forum Delphi
    Réponses: 4
    Dernier message: 25/02/2007, 13h31
  2. Attendre la fin d'un processus en C++
    Par ToMs dans le forum Linux
    Réponses: 3
    Dernier message: 10/07/2006, 08h58
  3. Attendre la fin d'un processus
    Par biaggi dans le forum ASP
    Réponses: 3
    Dernier message: 27/07/2004, 08h39
  4. attendre la fin d'un processus
    Par philippe V dans le forum MFC
    Réponses: 2
    Dernier message: 27/02/2004, 15h37
  5. Comment Attendre la fin d'un Processus
    Par mr_titi dans le forum C++Builder
    Réponses: 3
    Dernier message: 05/06/2003, 16h35

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