[Batch] Petit probleme

jujubassist Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
karirovax Messages postés 3221 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je me suis mis au batch pour rigoler un peu, bombe fork (seulement sur ma machine) etc...
Du coup j'ai fais un petit script mais il ne fait pas ce que je veux.
Pourriez vous m'aider ?
Peu importe ce que j'écris, il me lance la première vidéo qui est "video killed...".
J'aimerais savoir comment faire pour qu'il ne lance pas seulement cette vidéo.

@echo off
cls
echo Quelle chanson voulez-vous ?
set /p chanson =
if '%chanson%' == 'video killed the radio star'
goto buggles
if '%chanson%' == 'boys don t cry'
goto cure

:buggles
cd Video
"The Buggles - Video Killed The Radio Star.mp4"
goto fin

:cure
cd Video
"The Cure - Boys Don t Cry.mp4"
goto fin

:fin

Merci à vous.
A bientôt.
A voir également:

3 réponses

karirovax Messages postés 3221 Date d'inscription   Statut Membre Dernière intervention   204
 
salut

vous pouvez éxpliqué un peu plus ???

et pour votre code il faut metre aprés la commande IF une autre commande dans la même ligne

IF "%var% == "quel que chose" COMMANDE OPTION

dans votre cas :


@echo off
cls
echo Quelle chanson voulez-vous ?
set /p chanson =
if '%chanson%' == 'video killed the radio star' goto buggles
if '%chanson%' == 'boys don t cry' goto cure

:buggles
cd Video
"The Buggles - Video Killed The Radio Star.mp4"
goto fin

:cure
cd Video
"The Cure - Boys Don t Cry.mp4"
goto fin

:fin



;)
0
jujubassist Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Salut,

Merci de ta réponse.

Donc effectivement, le goto doit être sur la même ligne.
Mais je pense que le système de goto ne marche pas, j'ai regardé sur internet pour la syntaxe mais peu importe ce que j'écris, il lancera the buggles.

A+, Juju.
0
karirovax Messages postés 3221 Date d'inscription   Statut Membre Dernière intervention   204
 
Re, bonjour

jujubassist
... mais peu importe ce que j'écris, il lancera the buggles.
oui si vous tapperez le mot exact il lance l'étiquette :buggles
mais c normal

explique en plus ?
0
jujubassist Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Eh bien lorsque je veux lancer the cure, j'écris "boys don t cry" mais il va quand même lancer les Buggles.
En fait je crois qu'il rentre dans la première étiquette sans vraiment regarder ce que j'écris.
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
enlever l'espace avant le = et utiliser des guillemets
set /p chanson=
if "%chanson%" == "video killed the radio star" goto buggles
if "%chanson%" == "boys don t cry" goto cure
0
jujubassist Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Merci, c'est nikel comme ca ;)
C'était donc l'espace avant le =.
Merci beaucoup à vous 2 ;)
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
le piège avec <espace>= est que l'espace fait partie du nom de la variable !!
C:> set /p a =
hello

C:> echo %a%
%a%

C:> echo %a %
hello

C:>
0
lusky16 Messages postés 558 Date d'inscription   Statut Membre Dernière intervention  
 
il faut que tes " / " soient remplacés par des " \ "

j'ai eu le même problème et maintenant mes batchs marchent bien
0
karirovax Messages postés 3221 Date d'inscription   Statut Membre Dernière intervention   204
 
Re,

oui luskey16 mais ceci est pour les chemins ou de quoi vous parlez
0