2015-05-20 27 views
5

Próbuję monitować użytkownika o dane wejściowe w pliku wsadowym o wartości domyślnej (w przypadku, gdy użytkownik nie wprowadza danych wejściowych).Wprowadzane przez użytkownika w pliku wsadowym z wartością domyślną

Próbuję jak podano poniżej: wymagane wartości domyślne: 1 do głowy.

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

jednak zachęty pokazy start rev: default is zamiast start rev: default is 1.

Proszę o pomoc.

+3

Jeśli zamieszczony kod jest umieszczony między nawiasami ('if',' for', ...), to może [ta odpowiedź] (http://stackoverflow.com/a/30177832/2861476) może pomóc. –

+0

I umieścić pierwszy podwójny cudzysłów na "rev1" i "rev2", a nie po znaku równości. Jest to typowy błąd wyjaśniony setki razy w tematach związanych z plikiem wsadowym Stack Overflow. – Mofi

Odpowiedz

6

Próbowałem c & p kod do pliku bat i wyjście jest start rev: default is 1. Wydaje mi się, że opublikowałeś tylko fragment kodu, a ta część jest wewnątrz bloku IF lub FOR FOR. W takim przypadku należy dodać SETLOCAL EnableDelayedExpansion na początku skryptu i uzyskać dostęp do rev1 i rev2 z !rev1! i !rev2! zamiast %rev1% i %rev2%.

+0

Tak, był w bloku IF, a twoje rozwiązanie działało. Dziękuję Ci! – Anu