Programme batch MSDOS
Résolu/Fermé
pOw4_Amecpie
Messages postés
548
Date d'inscription
lundi 2 juillet 2007
Statut
Membre
Dernière intervention
26 avril 2013
-
4 mai 2008 à 00:26
SMOXAR Messages postés 56 Date d'inscription mercredi 25 novembre 2009 Statut Membre Dernière intervention 11 janvier 2014 - 11 janv. 2014 à 19:05
SMOXAR Messages postés 56 Date d'inscription mercredi 25 novembre 2009 Statut Membre Dernière intervention 11 janvier 2014 - 11 janv. 2014 à 19:05
A voir également:
- Batch set /p
- Set-top box - Accueil - Box & Connexion Internet
- Fichier batch - Guide
- Dead set saison 2 - Forum Cinéma / Télé
- <P> </p> ✓ - Forum Webmastering
- Batch pause 10 secondes ✓ - Forum Programmation
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
@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
jee pee
Messages postés
40717
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
24 janvier 2025
9 505
4 mai 2008 à 01:02
4 mai 2008 à 01:02
salut,
voici le corrigé de l'exercice
ou version plus courte (mais moins rigoureuse)
--
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 !!!):-))
--
jee pee
Messages postés
40717
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
24 janvier 2025
9 505
>
pOw4_Amecpie
4 mai 2008 à 11:48
4 mai 2008 à 11:48
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
sauf le cas des minuscules/majuscules le paramètre /I permet de traiter indifféremment les 2 donc :
IF /I %choix%==O
pOw4_Amecpie
>
jee pee
Messages postés
40717
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
24 janvier 2025
4 mai 2008 à 11:51
4 mai 2008 à 11:51
salut !
ok ben je vais faire ça !
merci pour ton aide et bonne continuation !
@+
ok ben je vais faire ça !
merci pour ton aide et bonne continuation !
@+
pOw4_Amecpie
Messages postés
548
Date d'inscription
lundi 2 juillet 2007
Statut
Membre
Dernière intervention
26 avril 2013
37
>
pOw4_Amecpie
4 mai 2008 à 12:15
4 mai 2008 à 12:15
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 @++++
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
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
hamza_0081
Messages postés
242
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
26 avril 2009
60
26 juil. 2008 à 11:25
26 juil. 2008 à 11:25
@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
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
@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
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
gabcha10
Messages postés
5
Date d'inscription
mardi 22 février 2011
Statut
Membre
Dernière intervention
16 juillet 2011
1
22 févr. 2011 à 23:45
22 févr. 2011 à 23:45
n'oublie pas de mettre tout ca dans un fichier ".BAT" :-)
(pour info ->> J'ai 14 ans XD)
(pour info ->> J'ai 14 ans XD)
hartarus
Messages postés
3
Date d'inscription
mardi 8 février 2011
Statut
Membre
Dernière intervention
15 mars 2011
15 mars 2011 à 18:07
15 mars 2011 à 18:07
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
... 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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
:NON
shutdown -s -t 10 -c "Ouh le vilain menteur !"
goto END
en :
:NON
goto DEBUT
jee pee
Messages postés
40717
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
24 janvier 2025
9 505
Modifié par jee pee le 2/02/2011 à 10:19
Modifié par jee pee le 2/02/2011 à 10:19
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
voir ce site pour toutes les possibilités du batch msdos : https://www.robvanderwoude.com/batchfiles.php
bryan62500
Messages postés
230
Date d'inscription
mardi 26 août 2008
Statut
Membre
Dernière intervention
28 janvier 2014
20
27 oct. 2011 à 15:09
27 oct. 2011 à 15:09
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
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
Et bien, le scripting ça peut aller, mais l'orthographe bonjour...
En plus, le 4 mai 2008, jee pee donne une info sur le "IF /I" et 3 ans plus tard y'en a pour se ramener avec une double ligne :
if %reponce% == O goto oui
if %reponce% == o goto oui
et le dernier qui carrément ne gère pas le cas où on tape en minuscules...
Et pis la clarté avec 2 routines portant le même label...
Tout cela sur des scripts à l'intérêt plus que limité.
J'aime pas flame des inconnnus mais ça fait 20 min que je voie des inepties du genre...
En plus, le 4 mai 2008, jee pee donne une info sur le "IF /I" et 3 ans plus tard y'en a pour se ramener avec une double ligne :
if %reponce% == O goto oui
if %reponce% == o goto oui
et le dernier qui carrément ne gère pas le cas où on tape en minuscules...
Et pis la clarté avec 2 routines portant le même label...
Tout cela sur des scripts à l'intérêt plus que limité.
J'aime pas flame des inconnnus mais ça fait 20 min que je voie des inepties du genre...
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 !
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.
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.
20 avril 2012 à 20:53
20 avril 2012 à 20:58
21 avril 2012 à 22:50
20 sept. 2012 à 01:13