Domanda

Come procedere con un file batch interattivo?

Eg.,

Vuoi continuare? [Y / n]

Se 'y' Vai a Etichetta1

Else Goto Label2

Grazie

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top