Domanda
Come procedere con un file batch interattivo?
Eg.,
Vuoi continuare? [Y / n]
Se 'y' Vai a Etichetta1
Else Goto Label2
Grazie
Soluzione
È possibile utilizzare il comando SET. Quanto segue è l'equivalente del comando DOS dello pseudo codice che hai sopra:
set /p choice=Do you want to continue? [y/n]
if '%choice%'=='Y' goto label1
goto label2
Altri suggerimenti
Utilizzando il comando choice, è possibile specificare un set di caratteri validi e un messaggio:
choice /C YN /M "Do you want to continue?"
if errorlevel 2 goto labelno
if errorlevel 1 goto labelyes
set / p choice = Vuoi continuare? [Y / n] se "% scelta% " == " y " ( vai all'etichetta 1 ) altrimenti vai a label2
La maggior parte delle risposte dei tuoi ragazzi mi piace ma il massimo che vorrei fare è (ad esempio questo codice è il mio modo di organizzare.
: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.
Conosco 1 modo per farlo (come @ user3093687 pubblicato)
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
Il / I nella seconda e terza riga del file batch lo rende in modo che non sia sensibile al maiuscolo / minuscolo e i caratteri speciali vengono ignorati (esempio Y e y verranno entrambi letti come y.