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 :

Creer menu dans batch


Sujet :

Scripts/Batch

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2011
    Messages : 31
    Points : 17
    Points
    17
    Par défaut Creer menu dans batch
    Bonjour,

    J'ai créé plusieurs fichiers batch qui on tous un programme different et j'aimerais créé un fichier batch qui sert de menu pour lancer le programme que l'on a choisi mais je ne sais pas comment m'y prendre.

    Quelqu'un pourrait-il m'aider merci d'avance.

  2. #2
    Membre éprouvé Avatar de gretch
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2006
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 165
    Points : 1 250
    Points
    1 250
    Par défaut
    Code batch : 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
    echo 1 - batch 1
    echo 2 - batch 2
    echo 3 - batch 3
    set /p reponse="quel batch voulez vous executer ?"
    If "%reponse%"=="" goto :sub_error
    If /i "%reponse%"=="1" goto :batch1
    If /i "%reponse%"=="2" goto :batch2
    :batch1
    echo c:\batch1.bat
    goto :end
    :batch2
    echo c:\batch2.bat
    goto :end
    :batch3
    echo 3
    goto :end
    :end
    pause

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2011
    Messages : 31
    Points : 17
    Points
    17
    Par défaut
    Merci "gretch" j'ai suivi ton modèle en faisant des petites modifications.

    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
    @echo off
    :menu
    echo -----------------
    echo -- Script menu --
    echo -----------------
    echo.
    echo 1.Nettoyage du poste
    echo 2.Configuration reseaux du poste
    echo 3.Tester connexion vers un autre poste
    echo 4.Redemarrer la carte resau
    echo 5.Lancer Windows Update
    echo 6.Lancer navigateur internet
    echo 7.Quitter
    echo.
    set /p reponse="Quel programme voulez-vous executer ?"
    
    If /i "%reponse%"=="1" goto :batch1
    If /i "%reponse%"=="2" goto :batch2
    If /i "%reponse%"=="3" goto :batch3
    If /i "%reponse%"=="4" goto :batch4
    If /i "%reponse%"=="5" goto :batch5
    If /i "%reponse%"=="6" goto :batch6
    If /i "%reponse%"=="7" goto :fin
    
    :batch1
    cls
    call c:\nettoyage.bat
    cls
    goto :menu
    
    :batch2
    cls
    call c:\ipconfig.bat
    cls
    goto :menu
    
    :batch3
    cls
    call c:\ping.bat
    cls
    goto :menu
    
    :batch4
    cls
    call c:\renew_release.bat
    cls
    goto :menu
    
    :batch5
    cls
    call c:\windows_update.bat
    cls
    goto :menu
    
    :batch6
    cls
    call c:\internet.bat
    cls
    goto :menu
    
    :fin
    exit

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2011
    Messages : 31
    Points : 17
    Points
    17
    Par défaut
    Par contre ya t'il un moyen de ne pas specifier les fichiers batch a "call" sur le c:\ ?

    Par exemple je voudrais mettre mes fichiers batch sur une cle usb et les lancer sur n'importe quel ordinateur sans modifier le script. Et que meme si la lettre de lecteur change sur les differents ordinateurs, que mon script menu fonctionne toujours et puisse aller chercher les script qu'il a besoin ?

    Ya t'il une variable qui existe pour ca ?

    Merci d'avance, en attente de vos réponses.

  5. #5
    Membre éprouvé Avatar de gretch
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2006
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 165
    Points : 1 250
    Points
    1 250
    Par défaut
    pour récupérer le dossier d'execution du script malgré TOUTES les situation (chemin réseau, lettres qui changes...) utilise cette astuce :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @for %%n in (%0) do set fold=%%~dpn
    après tu utilise la variable %fold%

    la ou tu met ton script maitre, tu créeais un dossier ressource.
    tu met tes autre script dans ton dossier ressource et le script maitre à la racin de ce dossier puis tu fait :

    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
    @echo off
    setlocal
    @for %%n in (%0) do set fold=%%~dpn
    chcp 1252
    :menu
    echo -----------------
    echo -- Script menu --
    echo -----------------
    echo.
    echo 1.Nettoyage du poste
    echo 2.Configuration réseaux du poste
    echo 3.Tester connexion vers un autre poste
    echo 4.Redémarrer la carte resau
    echo 5.Lancer Windows Update
    echo 6.Lancer navigateur internet
    echo 7.Quitter
    echo.
    set /p reponse="Quel programme voulez-vous executer ?"
    
    If /i "%reponse%"=="1" goto :batch1
    If /i "%reponse%"=="2" goto :batch2
    If /i "%reponse%"=="3" goto :batch3
    If /i "%reponse%"=="4" goto :batch4
    If /i "%reponse%"=="5" goto :batch5
    If /i "%reponse%"=="6" goto :batch6
    If /i "%reponse%"=="7" goto :fin
    
    :batch1
    cls
    call %fold%\ressource\nettoyage.bat
    cls
    goto :menu
    :batch2
    cls
    call %fold%\ressource\Mon_ipconfig.bat
    cls
    goto :menu
    
    :batch3
    cls
    call %fold%\ressource\Mon_ping.bat
    cls
    goto :menu
    :batch4
    cls
    call %fold%\ressource\renew_release.bat
    cls
    goto :menu
    :batch5
    cls
    call %fold%\ressource\windows_update.bat
    cls
    goto :menu
    :batch6
    cls
    call %fold%\ressource\internet.bat
    cls
    goto :menu
    :fin
    endlocal
    exit
    attention j'ai changé le nom de 2 de tes scripts, ping et ipconfig ;
    il ne faut jamais appeler son script par le nom d'une fonction existante,
    tu t'en mordera les doigts ^^

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2011
    Messages : 31
    Points : 17
    Points
    17
    Par défaut
    Merci pour ton aide ca fonctionne bien

    Par contre j'aurais voulu plus de details pour ces lignes la:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    setlocal
    @for %%n in (%0) do set fold=%%~dpn
    chcp 1252
    Sinon je m'appercois aussi que lorsque je lance certains programmes les "é" sont remplacé par d'autres caractères alors qu'avant ca ne le fesais pas ...

    Et de meme lorsque je lance le script "nettoyage" ou j'ai mis une ligne qui permet de vider la corbeille, j'ai un message d'erreur Windows qui me dit:

    "cmd.exe - Pas de disque
    Il n'y a pas de disque dans le lecteur. Insérez un disque dans le lecteur R:."

  7. #7
    Membre éprouvé Avatar de gretch
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2006
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 165
    Points : 1 250
    Points
    1 250
    Par défaut
    Sinon je m'appercois aussi que lorsque je lance certains programmes les "é"
    ça c'est le CHCP, tu peux le virer...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @for %%n in (%0) do set fold=%%~dpn
    permet d'extraire à partir de la variable %0 le chemin d'execution du script.

    setlocal dit que tes variable sont "local" au script.

  8. #8
    Membre éprouvé Avatar de gretch
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2006
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 165
    Points : 1 250
    Points
    1 250
    Par défaut
    interesse toi aussi à wizapp... cela te permet de creer des interfaces sympa sans connaitre autre chose que du batch.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2011
    Messages : 31
    Points : 17
    Points
    17
    Par défaut
    J'ai donc supprimé le chcp et ca corrige le problème.

    Merci beaucoup pour tout vos renseignement, je peut maintenant mettre se topic en résolu.

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

Discussions similaires

  1. [Batch] Problème avec robocopy dans batch avec menu
    Par Merwyn dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 14/05/2012, 15h36
  2. creer un menu dans excel
    Par h_adil dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/05/2008, 12h19
  3. Creer un menu dans le corps.
    Par levirus93700 dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 11/05/2008, 00h13
  4. Creer un nouveau menu dans le popupMenu New
    Par bpy1401 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 29/11/2006, 08h37
  5. créer référence dans menu Outil ?
    Par ericleroy dans le forum Access
    Réponses: 2
    Dernier message: 06/10/2006, 17h18

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