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

Scripts/Batch Discussion :

Un script de reboot [Batch]


Sujet :

Scripts/Batch

  1. #1
    Inactif
    Inscrit en
    Octobre 2008
    Messages
    826
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 826
    Par défaut Un script de reboot
    Bonjour,

    Il me faudrai un programme qui lance 5 de mes programme.
    Si un programme ferme il faudrai qu'il en ferme 1 et reouvre ce qui sont fermé.


    Un petit recapitulatif :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    lancer programme_1.exe
    lancer programme_2.exe
    lancer programme_3.exe
    lancer programme_4.exe
    lancer programme_5.exe
    
    Si programme 1 se ferme, fermer le programme 2.
    Relancer Programme 1 et 2
    Merci

  2. #2
    Inactif
    Inscrit en
    Octobre 2008
    Messages
    826
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 826
    Par défaut
    Alors j'ai un peut avancer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    @echo off
    
    start programme_1.exe
    start programme_2.exe
    start programme_3.exe
    start programme_4.exe
    start programme_5.exe
    Sa lance bien mes programme.

    Maintenant comment surveiller si programme_1.exe est lancé, et si il est pas lancé couper programme_2.exe et redemarrer programme_1.exe et programme_2.exe

    Merci

  3. #3
    Membre confirmé Avatar de fabrice.s
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 120
    Par défaut
    Salut,

    pour vérifier que ton programme s'est bien exécuté, quitter un progremme et les relancer tu peux faire ceci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    @echo off
    echo Check Tasklist
    
    tasklist | find "thunderbird.exe" /C /i > nul
    
    IF ERRORLEVEL == 1 (
    tskill firefox.exe
    start "%programfiles%\Mozilla Thunderbird\thunderbird.exe"
    start "%programfiles%\Mozilla Firefox\firefox.exe"
    )

  4. #4
    Inactif
    Inscrit en
    Octobre 2008
    Messages
    826
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 826
    Par défaut
    Merci

    Et comment faire en sorte que ce fichier bat reste ouvert et verifie en permanence que le programme_1.exe....

  5. #5
    Membre confirmé Avatar de fabrice.s
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 120
    Par défaut
    Re,

    Il suffit de faire une boucle.

    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
    
    @echo off
    echo Check Tasklist
    
    :Loop
    
    tasklist | find "thunderbird.exe" /C /i > nul
    
    IF ERRORLEVEL == 1 (
    tskill firefox.exe
    start "%programfiles%\Mozilla Thunderbird\thunderbird.exe"
    start "%programfiles%\Mozilla Firefox\firefox.exe"
    )
    
    Goto Loop

  6. #6
    Inactif
    Inscrit en
    Octobre 2008
    Messages
    826
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 826
    Par défaut
    Maintenant je voudrai que a chaque fois qu'un programme qui se lance il est ecrit en vert.
    Et laissé un delai de 2 seconde entre chaque lancement entre les programme.

    C'est juste pour l'estetique ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    programme_1.exe lancé avec succes
    programme_2.exe lancé avec succes

  7. #7
    Inactif
    Inscrit en
    Octobre 2008
    Messages
    826
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 826
    Par défaut
    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
    @echo off
    
    start proagrame_1.exe
    start proagrame_2.exe
    start proagrame_3.exe
    start proagrame_4.exe
    start proagrame_5.exe
    
    :Loop
    
    tasklist | find "proagrame_1.exe" /C /i > nul
    
    IF ERRORLEVEL == 1 (
    tskill proagrame_1.exe
    start proagrame_1.exe
    start proagrame_2.exe
    )
    
    Goto Loop
    Le probleme c'est que mes programmes se lance 10000 fois...
    Comment enlever de la boucle le lancement des programme ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    start proagrame_1.exe
    start proagrame_2.exe
    start proagrame_3.exe
    start proagrame_4.exe
    start proagrame_5.exe

  8. #8
    Membre confirmé Avatar de fabrice.s
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 120
    Par défaut
    Comme ca c'est un peu plus juste (correction en rouge)

    J'ai rajouté l'affichage en vert si Ok en Rouge si NOk

    Citation Envoyé par thebarbarius Voir le message
    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
    72
    73
    74
    75
    @echo off
    
    start programme_1.exe
    start programme_2.exe
    start programme_3.exe
    start programme_4.exe
    start programme_5.exe
    
    :Loop
    
    tasklist | find "programme_1.exe" /C /i > nul
    if errorlevel==0 (
    color 02
    echo Programme_1.exe Execute avec Succes
    color 07
    ) else (
    color 0C
    echo Erreur Execution Programme_1.exe
    color 07
    )
    
    tasklist | find "programme_2.exe" /C /i > nul
    if errorlevel==0 (
    color 02
    echo Programme_2.exe Execute avec Succes
    color 07
    ) else (
    color 0C
    echo Erreur Execution Programme_2.exe
    color 07
    )
    
    tasklist | find "programme_3.exe" /C /i > nul
    if errorlevel==0 (
    color 02
    echo Programme_3.exe Execute avec Succes
    color 07
    ) else (
    color 0C
    echo Erreur Execution Programme_3.exe
    color 07
    )
    
    tasklist | find "programme_4.exe" /C /i > nul
    if errorlevel==0 (
    color 02
    echo Programme_4.exe Execute avec Succes
    color 07
    ) else (
    color 0C
    echo Erreur Execution Programme_4.exe
    color 07
    )
    
    tasklist | find "programme_5.exe" /C /i > nul
    if errorlevel==0 (
    color 02
    echo Programme_5.exe Execute avec Succes
    color 07
    ) else (
    color 0C
    echo Erreur Execution Programme_5.exe
    color 07
    )
    
    
    tasklist | find "programme_1.exe" /C /i > nul
    
    IF ERRORLEVEL == 1 (
    tskill programme_2.exe
    start programme_1.exe
    start programme_2.exe
    )
    
    Goto Loop
    Le probleme c'est que mes programmes se lance 10000 fois...
    Comment enlever de la boucle le lancement des programme ?

  9. #9
    Inactif
    Inscrit en
    Octobre 2008
    Messages
    826
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 826
    Par défaut
    Les couleurs fonctionnent pas.

  10. #10
    Membre confirmé Avatar de fabrice.s
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 120
    Par défaut
    Citation Envoyé par thebarbarius Voir le message
    Les couleurs fonctionnent pas.
    Très juste remarque, à chaque changement toute l'invite de commande MS-Dos changera de couleur.

    Pour ne changer qu'une partie du texte cela sera plus compliqué.

    Visiblement il faut se tourner du coté de Ansi.sys, à changer dans le config.sys, afin de te permettre de prendre en charge ce genre de paramètres.

    Mais là je dois avoué que je n'ai jamais testé, donc je ne pourrais pas t'aider plus pour le moment.

    Si je trouve le temps de me pencher sur la question, je te tiens informé.
    @++.

  11. #11
    Membre éprouvé

    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2011
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2011
    Messages : 104
    Par défaut
    Bonjour,

    voici un exemple de batch pouvant gérer la couleur grâce à la commande de Carlos:
    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
    @echo off
    call:dep_color
    txtcolor 0E 1 "test 1"
    txtcolor 0C 0 "test 2"
    txtcolor 05 1 "  test 3"
    del txtcolor.exe
    pause
    exit /b
    
    :dep_color Déploiement de la commande txtcolor de Carlos
    Del /f /q /a t.dat >nul 2>&1
    For %%b In (
    4D53434600000000BA030000000000002C000000000000000301010001000000000000004900000001000100D20700000000000000009E3B8A662000747874636F6C6F722E6578650063EB078D6903D2
    07434BDD544B681341189E6D538D35352AE2030F4EC44A458D55113C88D4C75A85AA5B5A2F8AD66D324997A6BB7177A2297868498B9450ECA182871E7AF0E0C183878AA98844DA83828288074FE24549
    B1A00785452AEB3F8F3C5A7C54BD39F0E77F7FF3CD9FD9397976045523847C209E87500E89D5847EBFFA40566C7AB0024D2C7B1ECA292DCF43ED5D868393B615B7F51E1CD14DD3A2B893603B6562C3C4
    474FB7E11E2B4AC27575B55B2486A622D4A254CDC37D8B82D5CB9525F3624DABE167250896EC985D25782354D6A851C4A70F237E2E5EB8B25297145F1701EFC022CEFAA76B0C70F7FF221FA6244D8B64
    4036540BDE950B202E86A33AD5C17EA188C04BA6E78F864D23FFB73CCF0CBDEB9F6D006324ABFA33AE2F38180016593590C9FBB2FED6C228789969DF903AC7637E16EB2BC6DCAC3A9771157E6782A3F9
    C17C7060032A77071F295AE19C289EB9C413505E5559DEB4B07C872867B97D15B9CC6385A7EBCAE9B5909EA945F2CACE0498C586F3A14604D80FA7EDFE8CA25FEE995704C53298E865C7630D5F7983CB
    CC8F254E93EC8F6B9D6495AD6C28190E12280D6AB2767E3E52CC33D47ED7637CAE8D0BE48C8B8203AB8AB6121CA86124328CCE17CFF3B44258617C3E0FAB6FB4ACFA592B6C55F830FBDFB24F5684362A
    9259207BD21D525F0F3E9530FC544B71139A616EAE062CE8789D455A0E31BBC04E0BCC82F7D5F702EA45690EEB99E5E75553BCCAC747CCE7F374AA747FD6B0FB9313439BCDB10F0FB091025D3778979F
    776985EB0263589DD578B5360CDB0DAB2EC89C56E8E5D9358C02CC010462E7BF791E9FDAA7ACFA492B5C1000B0B5573F86D9E5F1EAC7A5BE25F56DA9A7A57E22F533A9EF487D57EA09A973523FC48B79
    FBFE9755EFD43B08AE084DD38895B0EC304913DCA947BAE3B69532A30D8D3B8F6D8B5936A970E181374C7A8A5C69314CD2D0B86BF736BC997611CC5EB4CDB50BF05FE1B21D08897771AE22761562D3F8
    C7DCD6410E836C07D9077210A419A41D8480A442A26E08F44D907BA17FEBEB712E476C1A8E2612E038D44E10130CC349478DB841B959B4204B2D56C6671103A3236299D4B612B124733A1C423BF464B2
    83F626090FC409EDD10D53B7E30EF8240D30DDC4364962EF1EB96333A16D347A5C37A30922DC2396E95809D216B109310FA76231629F30631624DB4AC97698FA214A6DA33345591BFA0E
    ) Do >>t.dat (Echo.For b=1 To len^("%%b"^) Step 2
    Echo WScript.StdOut.Write Chr^(Clng^("&H"^&Mid^("%%b",b,2^)^)^) : Next)
    Cscript /b /e:vbs t.dat > nom.extention_
    Del t.dat >nul 2>&1
    Expand -r nom.extention_ >nul 2>&1
    Del nom.extention_ >nul 2>&1
    goto:eof

  12. #12
    Membre confirmé Avatar de fabrice.s
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 120
    Par défaut
    Bonjour,

    Très Joli Cmanix.
    J'ai eu besoin de l'aide de S!riUrz pour bien comprendre le principe.
    Mais du coup on peu faire aussi plus simple, en faisant appel à txtcolor.exe, sans avoir besoin de le coder à la volée.

    du coup on peu l'utiliser comme ca.
    txtcolor 0F 0 "Execution Programme 1" & txtcolor 02 0 " OK"
    txtcolor 0F 0 "Execution Programme 1" & txtcolor 04 0 "ERREUR"

    Le programme me plait tellement que je vais m'en servir dans mes différents codes

    txtcolor.zip

  13. #13
    Membre expérimenté Avatar de plopi
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Mars 2011
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2011
    Messages : 191
    Par défaut
    Il y a aussi l''utilitaire Cocolor pour faire ce genre de manips (inclus un batch de demo dans le donload)

  14. #14
    Inactif
    Inscrit en
    Octobre 2008
    Messages
    826
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 826
    Par défaut
    Ce topic est resolue.

    Merci

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

Discussions similaires

  1. Un script de reboot
    Par thebarbarius dans le forum Débuter
    Réponses: 1
    Dernier message: 05/02/2012, 13h03
  2. Script pour rebooter un pc ou serveur
    Par fake me dans le forum VBScript
    Réponses: 1
    Dernier message: 29/08/2010, 00h01
  3. Script au reboot d'apache
    Par ricardcoca dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 23/01/2010, 00h24
  4. Script de reboot puis lancement de programme
    Par foxrol dans le forum RedHat / CentOS / Fedora
    Réponses: 1
    Dernier message: 19/04/2009, 18h03
  5. probleme de script start reboot stop
    Par Jopa5 dans le forum Shell et commandes GNU
    Réponses: 0
    Dernier message: 01/05/2008, 20h20

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