Groupe : Modérateur
Messages : 6 439
Inscrit : 06/08/2004 - 12:19
Membre n° 2 471
Pour interroger l'utilisateur c'est pas très compliqué, tu met un truc dans ce genre pour afficher une menu :
Citation
:menu ECHO Quel voulez vous faire ? ECHO [1] : me faire un don de 50 000 000 de dollars ECHO [2] : laver ma voiture ECHO [3] : me mettre une baffe
Ensuite tu attends la réponse de l'utilisateur de cette manière :
Citation
SET /P reponseUtilisateur=""
Et après tu auras ta réponse dans la variable %reponseUtilisateur% Donc avec un IF par exemple et un GOTO sur l'étiquette qui va bien tu vas t'en sortir
Si tu ne veux pas voir les commandes et faire un script plus propre n'oublie pas le ECHO OFF au début
--------------------
Une station de train c'est la que les trains s'arretent, Une station de bus c'est la que les bus s'arretent, Moi j'ai une station de travail
Config : CM Asus Rampage II Gene, Core i7 920 @ 3.2Ghz, 3*2Go DDR3 OCZ PC12600, HD5850, GSkill Falcon 64Go Watercooling : Swiftech MCP 655, Apogée GTX + Top cuivre, BlackICE GT 360, Fillport
Groupe : Modérateur
Messages : 6 439
Inscrit : 06/08/2004 - 12:19
Membre n° 2 471
Je comprends pas ton :
Citation
Comme tu as mis les echo en lignes, ca remet le prompt à chaque début de ligne.
Tu peux me mettre une copie d'écran que je comprenne ? As-tu bien mis le ECHO OFF au début de ton script ?
Pour le reste je crois pas qu'il existe de commande pour sauter une ligne directement, jusqu'à présent je fais avec un ECHO vide
Sinon envoi moi une adresse mail en PV sur laquelle tu peux recevoir un fichier de 10Mo j'ai un ebook assez complet sur les commandes DOS Plus exactement c'est un "pompage" de l'aide en ligne de microsoft.
--------------------
Une station de train c'est la que les trains s'arretent, Une station de bus c'est la que les bus s'arretent, Moi j'ai une station de travail
Config : CM Asus Rampage II Gene, Core i7 920 @ 3.2Ghz, 3*2Go DDR3 OCZ PC12600, HD5850, GSkill Falcon 64Go Watercooling : Swiftech MCP 655, Apogée GTX + Top cuivre, BlackICE GT 360, Fillport
Groupe : Membre
Messages : 2 590
Inscrit : 22/02/2004 - 20:29
Lieu : Combronde (63 )
Membre n° 1 931
Citation (Tinfolley @ 23/01/2009 - 11:59)
Pour le reste je crois pas qu'il existe de commande pour sauter une ligne directement, jusqu'à présent je fais avec un ECHO vide
Finalement je voulais sauté une ligne, et "echo" tout seul, ou "echo " (avec des espaces après) affiche l'état de la commande echo (soit echo est désactivée)
Groupe : Membre
Messages : 2 590
Inscrit : 22/02/2004 - 20:29
Lieu : Combronde (63 )
Membre n° 1 931
Ok merci pour ça Tinf
tiens, tant que je t'es encore sous la main : un peu plus compliquer (toujours pareil, pas trop dur sous Linux)
J'aimerais récupérer la valeur entrer mais cette fois sous forme d'un entier, comme ça je pourrais tester si la valeur est entre deux bornes numériques? Est-ce possible?
Groupe : Modérateur
Messages : 6 439
Inscrit : 06/08/2004 - 12:19
Membre n° 2 471
Les variables ne sont pas typée en DOS (à ma connaissance en tout cas) Si tu met directement %mavariable% > 2 çà ne marche pas ? Je ferais un test demain
--------------------
Une station de train c'est la que les trains s'arretent, Une station de bus c'est la que les bus s'arretent, Moi j'ai une station de travail
Config : CM Asus Rampage II Gene, Core i7 920 @ 3.2Ghz, 3*2Go DDR3 OCZ PC12600, HD5850, GSkill Falcon 64Go Watercooling : Swiftech MCP 655, Apogée GTX + Top cuivre, BlackICE GT 360, Fillport
Groupe : Modérateur
Messages : 6 439
Inscrit : 06/08/2004 - 12:19
Membre n° 2 471
Je viens donc de regarder. Et mes souvenirs n'étaient pas si mauvais les variables ne sont pas typées. En fait il faut utiliser les comparateur : EQU equal to NEQ not equal to LSS less than LEQ less than or equal to GTR greater than GEQ greater than or equal to
Exemple de script :
Citation
@ECHO OFF ECHO Entrez un chiffre SET /P reponseUtilisateur=""
IF %reponseUtilisateur% GTR 10 ( ECHO supérieur à 10 ) ELSE ( ECHO inférieur ou égal à 10 )
--------------------
Une station de train c'est la que les trains s'arretent, Une station de bus c'est la que les bus s'arretent, Moi j'ai une station de travail
Config : CM Asus Rampage II Gene, Core i7 920 @ 3.2Ghz, 3*2Go DDR3 OCZ PC12600, HD5850, GSkill Falcon 64Go Watercooling : Swiftech MCP 655, Apogée GTX + Top cuivre, BlackICE GT 360, Fillport
Groupe : Membre
Messages : 2 590
Inscrit : 22/02/2004 - 20:29
Lieu : Combronde (63 )
Membre n° 1 931
Cool merci Tinf!
Bon grâce à Tinf j'ai pu faire ce petit script qui permet de régler l'adresse IP et le DNS automatiquement. (si vous avez différents réseaux auquel vous vous connectez)
Je le copie ici si jamais ça intéresse quelqu'un... (j'ai enlever les options du milieu qui sont répétitives)
(à enregistrer dans un fichier .bat)
Code
ECHO off
:menu ECHO. ECHO Sur quel type de r‚seau voulez-vous vous connecter? : ECHO. ECHO [1] : Reseau VLAN Process (adresse de type 10.58.193.xx) ECHO [2] : Reseau VLAN Procon (adresse 10.58.193.54) ECHO [3] : Reseau type Tour (adresse 10.57.50.99) ECHO [4] : Reseau type BR30 (adresse 192.168.10.20) ECHO [5] : Reseau type Wifi (adresse 192.168.10.2) ECHO [9] : Adresse attribu‚e par DHCP (r‚seau usine bureau) ECHO [0] : Quitter ECHO. ECHO Entrer votre choix correspondant … la configuration souhait‚e et valider:
SET /P reponseUtilisateur=""
IF "%reponseutilisateur%"=="1" GOTO rep1 IF "%reponseutilisateur%"=="2" GOTO rep2 IF "%reponseutilisateur%"=="3" GOTO rep3 IF "%reponseutilisateur%"=="4" GOTO rep4 IF "%reponseutilisateur%"=="5" GOTO rep5 IF "%reponseutilisateur%"=="9" GOTO rep9 IF "%reponseutilisateur%"=="0" GOTO fin
ECHO Choix incorrect GOTO menu
:rep1
:retour ECHO. ECHO Entrer un nombre entre 100 et 110 puis appuyer sur Entrer: SET /P reponseUtilisateur="" IF %reponseUtilisateur% LSS 100 ( ECHO J'ai dit entre 100 et 110... GOTO retour ) IF %reponseUtilisateur% GTR 110 ( ECHO J'ai dit entre 100 et 110... GOTO retour ELSE ( GOTO suite )
:suite netsh interface ip set address "Connexion au r‚seau local" static 10.58.193.%reponseUtilisateur% 255.255.255.192 10.58.193.126 1 netsh interface ip set dns name = "Connexion au r‚seau local" source = static addr = 10.58.192.4 ipconfig ECHO. ECHO L'adresse r‚seau du PC est maintenant 10.58.193.%reponseUtilisateur% GOTO fin
:rep9
netsh interface ip set address "Connexion au r‚seau local" dhcp netsh interface ip set dns name = "Connexion au r‚seau local" source = dhcp ECHO. ECHO L'adresse r‚seau du PC a ete attribu‚e par DHCP. GOTO fin
:fin ECHO. ECHO Appuyer sur Entrer pour terminer. SET /P reponseUtilisateur=""