2009-03-04 12 views
1

Comment procéder avec un fichier batch interactif?Fichier batch interactif

Par exemple,

Voulez-vous continuer? [Y/n]

Si 'y' Aller Label1

Else Aller Label2

Merci

Répondre

6

Vous pouvez utiliser la commande SET. Voici la commande DOS équivalent du code pseudo que vous avez ci-dessus:

set /p choice=Do you want to continue? [y/n] 
if '%choice%'=='Y' goto label1 
goto label2 
+0

si '% choice%' == 'Y' est attribué à l'opérateur conditionnel. = dint travail pour moi! – Bharani

+0

mes excuses - je vais l'éditer maintenant – Darksider

+0

Vous pouvez également envisager d'ajouter un/i à la si si la comparaison n'est pas sensible à la casse. – Joey

3

En utilisant la commande de choix, vous pouvez spécifier un ensemble de caractères valides et un message:

choice /C YN /M "Do you want to continue?" 
if errorlevel 2 goto labelno 
if errorlevel 1 goto labelyes 
0

choix de jeu/p = Voulez-vous continuer? [Y/n] si "%% de choix" == "y" ( goto label1 ) else goto label2

0

La plupart des réponses de vos gars j'aime, mais le plus que je voudrais faire est (par exemple le code est ma façon d'organisation.

:Label1 
@echo off 
color (any color) 
title (anything here) 

set /p choice=Do you want to continue? [y/n] 
IF %choice% == y goto Label2 
IF %choice% == n exit 

:Label2 
cls 
echo you chose Yes. 
0

Je sais que 1 façon de le faire (comme @ user3093687 affiché)

set /p choice=Do you want to continue? (y,n) 
if /I %choice%==y goto Label2 
if /I %choice%==n goto exit 

:Label2 
Cls 
echo You chose yes 

:exit 
exit 

le/I dans la deuxième et troisième ligne du fichier de commandes fait en sorte que il n'est pas sensible à la casse et les caractères spéciaux sont ignorés (Les exemples Y et Y seront tous les deux lus comme y.

+0

'/ i' ignore'! '? Huh? Quelle version de Windows ou DOS utilisez-vous? – Stephan

+0

Je cours Windows 10 et en utilisant/I quand je tape quelque chose comme y! Il le lira comme y. Avez-vous essayé? –

+0

bien sûr que j'ai fait. Fonctionne comme prévu: 'y!' N'est pas 'y'. Aussi Windows 10. S'il vous plaît cocher. – Stephan

Questions connexes