Programme batch MSDOS [Résolu/Fermé]

Signaler
Messages postés
548
Date d'inscription
lundi 2 juillet 2007
Statut
Membre
Dernière intervention
26 avril 2013
-
Messages postés
56
Date d'inscription
mercredi 25 novembre 2009
Statut
Membre
Dernière intervention
11 janvier 2014
-
Bonjour,
alors voila j'aimerais créer un programme batch .. enfin plutot une petite conneri du genre :
es tu debile ?
si oui, alors un message aparait du genre : c'est bien tu es honnete !
si non, alors le programme se ferme et t'etein lordi au bout de 60 sec
je m'y connais pas trop mais pour l'instant j'ai fais ceci :

@echo off
echo es tu debile ? (O=Oui ; N=Non)
echo.
set /P choix=
If %choix%=="o"
echo c'est bien t'es honnete !
pause
else If %choix%=="n"
shutdown -s -t 60
pause

bien evidemment ça ne marche pas donc si quelqu'un pouvait m'aider a faire ce code se serait cool de sa part !
merci d'avance a+

8 réponses

J'ai un peu plus propre :

@echo off
cls

echo Etes-vous debile ? Ecrivez O (Oui) ou N (Non) puis appuyez sur Entree

:QUESTION
set/p "cho=>"
if %cho%==O goto OUI
if %cho%==N goto NON
echo Ecrivez O ou N
goto QUESTION

:OUI
echo.
echo C'est bien d'etre honnete avec soi-meme :-)
echo.
pause
goto END

:NON
shutdown -s -t 10 -c "Ouh le vilain menteur !"
goto END

:END
22
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci


Je suis d'accord avec ton programme mais saurais-tu comment faire un quizz ou il y a plusieurs question? En fait je n'y arrive qu'en trifouillant un peu mais sans occune logique ...

Il faudrait aussi que tu rajoute " ecrivez en majuscule surtout" mais pense a le mettre sur une 2°¨ligne echo car sinon ca va te couper te phrase en plein milieu au cause de la taille de l'invite de commande dans la quelle il va etre executé ( executer= ouvert pour les debutants et invite de CMD c une fenetre de commende qu'on trouve dans le menu DEMARE)
Pour le quizz, ce n'est pas très différent : Tout sera fait à base de labels (les deux-points), de GOTO et de IF : Pour chaque question, un label (:QUESTION1 :QUESTION2), avec plusieurs choix, le candidat écrit la lettre correspondant à son choix (A : Sarkozy / B : Hollande etc, exemple improvisé), et un IF teste le tout : IF %cho%==A ECHO Ah, vous choissez Sarkozy GOTO QUESTION3. J'espère avoir répondu à ta question :)
Messages postés
2
Date d'inscription
jeudi 19 juillet 2012
Statut
Membre
Dernière intervention
20 septembre 2012

set /p"Merci beaucoup=>" , grâce a vous j'ai pu en créer un très marrant ... ;) XD
Messages postés
32505
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
22 juillet 2021
7 826
salut,

voici le corrigé de l'exercice
@echo off
set /P choix=Le programmeur est debile (O=Oui ; N=Non) ? : 
If %choix%==O (echo Tu as raison !) else (
   If %choix%==N (echo Fayot !!!) else (echo Il faut choisir dans la vie !) ) 

ou version plus courte (mais moins rigoureuse)
@echo off
set /P choix=Le programmeur est debile (O=Oui ; N=Non) ? : 
If %choix%==O (echo Tu as raison !) else (echo Fayot !!!) 
:-))

--

bonjour,
merci beaucoup pour ton aide mais j'ai encore une petite question...
est-ce que je peux mettre plusieurs truc a la fois dans if du genre :
If %choix%==O,o,oui,ouais etc ... ?
merci
Messages postés
32505
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
22 juillet 2021
7 826 > pOw4_Amecpie
je pense qu'il n'existe pas de possibilité mutli réponses il faut les traiter une après l'autre en cascade

sauf le cas des minuscules/majuscules le paramètre /I permet de traiter indifféremment les 2 donc :

IF /I %choix%==O
>
Messages postés
32505
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
22 juillet 2021

salut !
ok ben je vais faire ça !
merci pour ton aide et bonne continuation !
@+
Messages postés
548
Date d'inscription
lundi 2 juillet 2007
Statut
Membre
Dernière intervention
26 avril 2013
38 > pOw4_Amecpie
re salut ^^
oui c bon ça marche nikel !
merci encore !
donc si je recapitule mon programme donne ça :

@echo off
set /P choix=es tu vraiment débile (O=Oui ; N=Non) ? :
If /I %choix%==O (
echo Tu as raison !
) else (
If /I %choix%==N (
shutdown -s -t 60
echo menteur !
) else echo Il faut faire un choix !
)
pause

voila @++++
Et voici
carre pong :

@ECHO OFF
CLS
title carre pong !
rem ------------------------------------
rem Initialisations
rem ------------------------------------
SET /A X=5
SET /A dX=1

SET /A Y=2
SET /A dY=1

SET VAR=O
SET VAR_MUR=±

:debut

rem ------------------------------------
rem Création de la ligne du curseur
rem ------------------------------------

rem --- décalage colonne ---
SET /A colonne=0

:decal_col_avant

IF %colonne% GEQ %X% GOTO decal_col_avant_termine
SET VAR=^ %VAR%
SET /A colonne+=1

GOTO decal_col_avant

:decal_col_avant_termine

rem --- décalage colonne pour le mur de droite ---
SET /A X_restant=25-%X%

:decal_col_apres

IF %X_restant% EQU 0 GOTO decal_col_apres_termine
SET VAR_MUR=^ %VAR_MUR%
SET /A X_restant-=1

GOTO decal_col_apres

:decal_col_apres_termine

SET VAR=±%VAR%%VAR_MUR%

rem ------------------------------------
rem Affichage
rem ------------------------------------

CLS

ECHO ±±±±±±±±±±±±±±±±±±±±±±±±±±±±

rem --- décalage ligne avant ---
SET /A Y_decal_ligne=%Y%-1
FOR /L %%j IN (0,1,%Y_decal_ligne%) DO (
ECHO ± ±
)

rem --- ligne curseur ---
ECHO %VAR%

rem --- décalage ligne après ---
SET /A Y_restant=11-%Y%
FOR /L %%j IN (0,1,%Y_restant%) DO (
ECHO ± ±
)
ECHO ±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ECHO === X=%X% (%dX%), Y=%Y% (%dy%) ===

rem ------------------------------------
rem Calculs des rebonds
rem ------------------------------------

IF %Y% EQU 12 SET /A dY*=-1
IF %Y% EQU 0 SET /A dY*=-1
IF %X% EQU 25 SET /A dX*=-1
IF %X% EQU 0 SET /A dX*=-1

rem ------------------------------------
rem Réinitialisation de variables
rem pour la prochaine boucle
rem ------------------------------------

SET VAR=O
SET VAR_MUR=±
SET /A X+=dX
SET /A Y+=dY
SET /A nb-=1

rem ------------------------------------
rem Temporisation si nécessaire (à décommenter)
rem XP: utiliser choice avec temporisation
rem et donner la possibilité de quitter
rem ------------------------------------
rem ping 127.0.0.1 -n 2 > NUL 2> NUL


GOTO debut
Messages postés
242
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
26 avril 2009
60
@echo off
set /P choix=es tu vraiment débile (O=Oui ; N=Non) ? :
If /I %choix%==O (
echo Tu as raison !
) else (
If /I %choix%==N (
shutdown -s -t 60 -c "menteur ! "
) else echo Il faut faire un choix !
)
pause


salut mais votre programe marche pas chez moi il m'affiche ds tou les cas Il faut faire un choix !
alors je lé modifier et la resultat est la suivante C UNE TRES PEUTITE MODIFICATION ET MEME INVISIBLE

@echo off
set /P choix=es tu vraiment débile (O=Oui ; N=Non) ? :
If /I '%choix%'=='O' (
echo Tu as raison !
) else (
If /I '%choix%'=='N' (
shutdown -s -t 60 -c "menteur ! "
) else echo Il faut faire un choix !
)
pause
O majuscule et non mininuscule(o)
je vous conseille de changer les majuscules des letres O et N sinon le gars se dira que ca ne marche pas
@echo off
cls

:debut
cls
echo.
echo =================
echo == Es-tu debile? ==
echo =================
echo.
echo ( o = oui ; n = non)
echo.

set /p reponce=
if %reponce% == O goto oui
if %reponce% == N goto non
if %reponce% == o goto oui
if %reponce% == n goto non
goto debut

:oui
cls
echo.
echo C'est bien! tu es honnete! :-)
echo.
pause>nul

goto end

:non
cls

shutdown -s -t 60 -c "C'est pas bien! il fau etre TOUJOURS honnete dans la vie! :-)"
goto end

:end
exit
Messages postés
5
Date d'inscription
mardi 22 février 2011
Statut
Membre
Dernière intervention
16 juillet 2011
1
n'oublie pas de mettre tout ca dans un fichier ".BAT" :-)

(pour info ->> J'ai 14 ans XD)
Et ça fait quoi que tu aie 14 ans ?
Messages postés
3
Date d'inscription
mardi 8 février 2011
Statut
Membre
Dernière intervention
15 mars 2011

Ca fait qu'il connait des chose que même moi je ne connais pas et j'ai 25 ans... de plus il n'as pas pu avoir de formation à 14 ans pour savoir ça... donc il as cherché par lui même
... d'ailleurs moi j'ai aussi un problème à poser à ces têtes pensantes
j'aimerais faire un .bat qui enverrai un texte dans une fenetre cmd (exemple.exe) le but est que a chaque fois que je lance le .bat le texte s'écrive dans la fenetre cmd...

facile hein ? :-)

j'ai vraiment besoin d'aide svp
merci pour vos réponses
j'ai 14 ans aussi et j'en fais pas tout un plat...

hartarus je ne vois pas le problème ?

@echo off
cls

echo LE TEXTE A ECRIRE
Ca fait surtout qu'il écrit réponse avec un "c"....
mais bon.... l'important n'est-il pas de se comprendre ? :p
Si je veu que le programme retourne au début au lieu de finir, que dois-je faire?
Tu ajoutes :DEBUT au tout début du code, et tu modifies ces trois lignes :

:NON
shutdown -s -t 10 -c "Ouh le vilain menteur !"
goto END


en :

:NON
goto DEBUT
Peut-on mettre echo off au millieu pour effacer ce qu'il y avait précedement?
Messages postés
32505
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
22 juillet 2021
7 826
Pour effacer l'écran en mode ligne de commande l'instruction c'est : CLS

voir ce site pour toutes les possibilités du batch msdos : https://www.robvanderwoude.com/batchfiles.php
Messages postés
230
Date d'inscription
mardi 26 août 2008
Statut
Membre
Dernière intervention
28 janvier 2014
20
merci
Bonjour,

voici un petit batch sympa que j'ai créer

:DEBUT
@echo off
cls

echo aimez vous les jeux vidéo ? Ecrivez O (Oui) ou N (Non) puis appuyez sur Entree

:QUESTION
set/p "cho=>"
if %cho%==O goto OUI
if %cho%==N goto NON
echo Ecrivez O ou N
goto QUESTION

:OUI
echo.
echo C'est bien continuons
echo.
pause
goto SUITE

:NON
echo ouh une fille
pause
goto DEBUT

:SUITE

echo off
echo etes vous un garçon (O=oui)(N=non)
echo.


:QUESTION
set/p "cho=>"
if %cho%==O goto OUI
if %cho%==N goto NON
echo Ecrivez O ou N
goto QUESTION

:OUI
echo.
echo C'est bien vous etes un vrai garçons
echo.
pause
goto DEBUT

:NON
echo c'est bien vous etes un garçon manquer
pause
goto DEBUT

Bien ce code ! Mais c'est vrai qu'une fonctionn pou prendre les majuscules serait nla bienvenue !
Bonjour.
J'aimerais savoir comment cette ligne peut être écrite correctement :

if %cho%=="Bien sûr" goto OUI

En fait, comment avoir un espace dans une réponse ?
--------------------------------------------------------------------------------------------

J'ai une deuxième question :
J'ai un raccourci sur une clé USB qui exécute un .bat sur cette même clé.
Seulement voilà, il se peut que la clé change de nom (k:\ à la place de J:\ ou N:\ ...).

Quelqu'un saurait-il créer un batch pour éviter qu'elle ne change de nom de lecteur ?
Merci d'avance !
1. Normalement, tu ne peux pas.
2. En fait le nom de ton lecteur dépend ou tu branches ta clé USB et de certains programmes qui peuvent utiliser un lecteur qui rajoutent des lettres (ex: entrer un CD ou une carte SD dans l'ordinateur).
Considérant que tu n'as rien d'inséré dans ton ordinateur et que tu la branches toujours au même endroit, elle ne devrait pas changer d'emplacement.
Sinon, tu peux essayer avec les conditions : faire ton programme dans K:\, et si l'ordinateur lui dit qu'il y a rien, faire continuer avec J:\ et ainsi de suite.
Messages postés
56
Date d'inscription
mercredi 25 novembre 2009
Statut
Membre
Dernière intervention
11 janvier 2014
2
enfin :
voilà ce que j'ai rélaisé avec vos truc :

@Echo off
Title Changement @ IP suite au branchement sur le vlan Security

@Echo off
cls

:debut
cls
Echo.
Echo /!\ Attention, Ceci fixera une @ IP du Vlan Security voulez-vous continuer ? (O/N) /!\
Echo.

set /p choix=
if /i %choix% == O goto oui
if /i %choix% == N goto non

goto debut

:oui
cls

@Echo Off
Echo Fixation de l'@ IP sur le vlan Security ....
Echo.

@Echo OFF
netsh interface ipv4 set address "Connexion Lan" static 192.168.46.250 255.255.255.0
Echo Fixation de l'@ IP ...... DONE
Echo.
Echo.
@Echo Off
Echo Appuiyez sur une touche pour revenir en Mode DHCP ....
pause>nul
Echo.
@Echo OFF
netsh interface ipv4 set address "Connexion Lan" dhcp
@Echo OFF
Echo Passage en Mode DHCP .... DONE
Echo.
Echo.
@Echo OFF
Echo "/!\ Appuiyez sur une touche pour Quitter ! /!\"
Pause>nul

goto end

:non
cls
@Echo off
Echo /!\ Appuiyez sur une touche pour Quitter ! /!\
pause>nul
goto end

:etat
@Echo off
Echo.
Echo Faites le bon choix SVP !
goto non


:end
exit
Messages postés
56
Date d'inscription
mercredi 25 novembre 2009
Statut
Membre
Dernière intervention
11 janvier 2014
2
j'aimerais juste ajouter un petit message si l'utilisateur tape autre chose que OonN car s'il le fait pas de blocage mais pas aussi de message qui indique de faire le bon choix