2015-05-20 7 views
5

Sto tentando di richiedere all'utente l'immissione nel file batch con il valore predefinito (nel caso in cui l'utente non immetta l'input).Immissione utente nel file batch con valore predefinito

Sto provando come indicato di seguito: valori predefiniti richiesti: 1 a capo.

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

spettacoli Tuttavia rapide start rev: default is anziché start rev: default is 1.

Per favore aiuto.

+3

Se il codice inserito è posto tra parentesi ('if',' for', ...) allora forse [questa risposta] (http://stackoverflow.com/a/30177832/2861476) potrebbe aiutare. –

+0

E metti la prima virgola doppia a sinistra 'rev1' e' rev2' e non dopo il segno di uguale. Questo è un errore comune spiegato centinaia di volte negli argomenti relativi ai file batch di Stack Overflow. – Mofi

risposta

6

Ho provato c & p il codice in un file bat e l'output è start rev: default is 1. Immagino che tu abbia postato solo uno snippet del tuo codice e questa parte sia all'interno di un IF o di un blocco FOR. In questo caso è necessario aggiungere SETLOCAL EnableDelayedExpansion all'inizio dello script e accedere a rev1 e rev2 con !rev1! e !rev2! anziché %rev1% e %rev2%.

+0

Sì, era in un blocco IF e la soluzione ha funzionato. grazie! – Anu

Problemi correlati