2015-05-20 5 views
5

Ich versuche, Benutzer zur Eingabe in der Batch-Datei mit dem Standardwert (falls Benutzer keine Eingabe eingeben).Benutzereingabe in Batch-Datei mit Standardwert

Ich versuche wie folgt: Default-Werte erforderlich: 1 Kopf.

set rev1=1 
set rev2=HEAD 
set /p rev1="start rev: default is %rev1% " 
set /p rev2="end rev: default is %rev2% " 

jedoch prompt zeigt start rev: default is statt start rev: default is 1.

Bitte helfen.

+3

Wenn der gepostete Code zwischen Klammern steht ('if',' for', ...), dann könnte [diese Antwort] (http://stackoverflow.com/a/30177832/2861476) helfen. –

+0

Und setzen Sie das erste doppelte Zitat links zu 'rev1' und' rev2' und nicht nach Gleichheitszeichen. Dies ist ein häufiger Fehler, der in Stack Overflow-Stapeldatei-verwandten Themen hunderte Male beschrieben wird. – Mofi

Antwort

6

Ich habe versucht, c & p Ihren Code in eine Fledermaus-Datei und die Ausgabe ist start rev: default is 1. Ich schätze, Sie haben nur einen Ausschnitt Ihres Codes gepostet und der Teil befindet sich in einem IF oder einem FOR Block. In diesem Fall sollten Sie SETLOCAL EnableDelayedExpansion am Anfang Ihres Skripts hinzufügen und auf rev1 und rev2 mit !rev1! und !rev2! anstelle von %rev1% und %rev2% zugreifen.

+0

Ja, es war in einem IF-Block, und Ihre Lösung hat funktioniert. Danke! – Anu