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 :

plusieurs bat en parallèle


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 40
    Par défaut plusieurs bat en parallèle
    Bonjour,

    Sur un serveur 2008 STD SP2, je souhaite dans un script lancer plusieurs fichiers (.bat) pour qu'ils s'éxécutent en même temps.

    lance bat1 bat2 bat3 en paralléle
    on attend que bat1, bat2 et bat3 soient finis
    lance bat4

    Avez vous des exemples de script ?

    Merci

  2. #2
    Membre éclairé
    Inscrit en
    Septembre 2009
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 63
    Par défaut

    Créer l'objet "WScript.Shell"
    Tous ces examples supposent que cette ligne de code soit mise au debut du script:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set WshShell = WScript.CreateObject("WScript.Shell")
    Ouvrir un fichier ou un programme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WshShell.Run "C:\Progra~1\MySoftware\MonProgramme.exe", WindowState, Wait
    Attention: Cette méthode ne supporte les nom avec des espaces blancs que si on les insere entre des trios de guillemets. Example:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WshShell.Run """C:\Program File\My Software\Mon Programme.exe""", WindowState, Wait
    Cette méthode revient en fait a taper une ligne de code dans une fenetre DOS.
    Le texte qu'il y a entre guillemets est la commande en DOS. Si cette commande contient des guillemets,
    il faut les doubler pour qu'ils soient reconnu comme un guillemet et non comme la fin du texte.
    Certains programmes connus du systeme peuvent etre lancés rien qu'avec leur nom, tel que Notepad.

    True veut dire qu'on attend que le programme aie fini d'executer ou que l'on ai fermer la fenetre du programme (Cela dépend du programme).

    Dans le cas où l'on décide d'attendre la commande peut servir à capter les éventuels messages émis par le programme à la fin de l'exécution (Voir dernier example ci-dessous).
    On peut aussi capter de cette façon un numéro émit par un script en rajoutant WScript.Quit(MsgNum) à la fin du script qu'on lance de cette façon. (Voir code plus bas)

    MyApp :Représente un chemin d'accès ou le nom d'un programme connu du système. Si le programme est connu du système (par example Notepad.exe) ou si le porgramme ou le fichier se trouve dans le même directory que celui où travaille le script (d'habitude le directory où le script se trouve), seul le nom du fichier avec son extention suffit, sinon il faudra mentioner le chemin d'accès complet.

    0, 1, 2 et 3 désignent l'état (ou la taille) de la fenetre du programme (voir table).

    Examples:
    Ouvrir un programme maximisé sans attendre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WshShell.Run MyApp, 3, False
    Ouvrir un programme minimisé et attendre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WshShell.Run MyApp, 2, True
    Ouvrir un programme normalement sans attendre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WshShell.Run MyApp, 1, False
    Ouvrir un programme invisible et attendre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WshShell.Run MyApp, 0, True
    Ouvrir un programme et capter les signaux d'erreurs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    StdOut = WshShell.Run(MyApp, 1, True)
    Etat de la fenetre |Attendre
    0 Invisible | True Attendre
    1 Normal | False Ne pas attendre
    2 Minimisé |
    3 Maximisé
    4 Dans la dernière position
    5 Active la fenêtre si l'application est déjà ouverte
    6 Minimise la fenêtre et en active une autre
    7 Minimisée tout en gardant la même fenêtre active
    8 Dans l'état où elle est, sans rien changer
    9 Normal (même chose que le 1)
    10 Basé sur l'état dans lequel elle a été ouverte par le programme

    On peut aussi ouvrir des fichiers comme si on doublecliquait dessus dans Explorer.
    Par example:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WshShell.Run """C:\My Documents\Mon fichier.txt""", 1, False
    ouvrira Mon fichier.txt dans Notepad, du moin si Notepad est l'application par défault pour les fichiers txt.

    (ne me remerciez pas c'est du copié-collé)

Discussions similaires

  1. Lancer une vm plusieurs fois en parallèle
    Par asouquieres dans le forum VirtualBox
    Réponses: 0
    Dernier message: 17/08/2009, 12h15
  2. Lancer plusieurs processus en paralléle
    Par sabrina7 dans le forum Langage
    Réponses: 4
    Dernier message: 22/11/2007, 12h40
  3. Réponses: 5
    Dernier message: 14/04/2007, 14h12
  4. Lancer plusieurs .bat en même temps
    Par mdriesbach dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 22/09/2006, 16h37
  5. Appel de plusieurs .bat a partir d'un autre .bat
    Par piemur2000 dans le forum Windows XP
    Réponses: 4
    Dernier message: 08/06/2006, 09h47

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