2009-03-04 3 views
1

Wie wird mit einer interaktiven Batch-Datei verfahren?Interaktive Batch-Datei

ZB

Möchten Sie fortfahren? [Y/n]

Wenn 'y' Goto Label1

Else Goto Label2

Dank

Antwort

6

Sie die SET-Befehl verwenden können. Im Folgenden ist der DOS-Befehl Äquivalent des Pseudo-Code haben Sie oben:

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

wenn '% choice%' == 'Y' goto label1 bedingter Operator. = Dint Arbeit für mich! – Bharani

+0

meine Entschuldigung - ich werde es jetzt bearbeiten – Darksider

+0

Sie können auch in Betracht ziehen, ein/i hinzufügen, wenn so der Vergleich nicht Groß-und Kleinschreibung. – Joey

3

Mit der Wahl-Befehl Sie eine Reihe von gültigen Zeichen angeben können, und eine Nachricht:

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

set/p Wahl = Willst du weitermachen? [Y/n] if "% Wahl%" == "y" ( gehe label1 ) else goto label2

0

Die meisten Ihrer Jungs die Antworten Ich mag aber die meisten, die ich tun würde, ist (zum Beispiel diesen Code ist meine Art und Weise der 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

I 1 Art und Weise weiß, dass dies (wie @ user3093687 veröffentlicht)

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 

Das/I in der zweiten und dritten Zeile der Batch-Datei macht es zu tun, so dass Groß- und Kleinschreibung wird nicht beachtet und Sonderzeichen werden ignoriert (Beispiel Y und y werden beide als y gelesen.

+0

'/ i' ignoriert'! '? Hä? Welche Version von Windows oder DOS verwenden Sie? – Stephan

+0

Ich verwende Windows 10 und bei der Verwendung von/I, wenn ich etwas wie y! Es wird es als y lesen. Hast du es ausprobiert? –

+0

natürlich tat ich. Arbeitete wie erwartet: 'y!' Ist nicht 'y'. Auch Windows 10. Bitte überprüfen Sie nochmals. – Stephan