Nel mio file batch voglio porre una domanda all'utente.sì/no file batch
ho scritto il seguente:
SET /P ANSWER=Click Y to continue or N to stop (Y/N)
ma ottengo il messaggio senza l'ultima )
.
Qualcuno sa perché?
Grazie!
Nel mio file batch voglio porre una domanda all'utente.sì/no file batch
ho scritto il seguente:
SET /P ANSWER=Click Y to continue or N to stop (Y/N)
ma ottengo il messaggio senza l'ultima )
.
Qualcuno sa perché?
Grazie!
Perché stai usando che pronta all'interno di un blocco parentesi, ad esempio
if ... (
...
set /P ANSWER=Blah (Y/N)
)
o
for %%x in (...) do (
...
set /P ANSWER=Blah (Y/N)
)
si deve sfuggire alla parentesi chiusa in quel caso:
SET /P ANSWER=Click Y to continue or N to stop (Y/N^)
o citare l'intero argomento:
SET /P "ANSWER=Click Y to continue or N to stop (Y/N)"
altrimenti si chiude la bloccare. E se avessi qualcosa dopo quella parentesi di chiusura avresti avuto un errore di sintassi.
Un metodo più semplice di quello che fate ci sarebbe probabilmente il comando choice
:
choice /M "Press Y to continue or N to stop" /c YN
È possibile quindi controllare l'errorlevel dopo per scoprire scelta dell'utente:
if errorlevel 255 (
echo Error
) else if errorlevel 2 (
echo No.
) else if errorlevel 1 (
echo Yes.
) else if errorlevel 0 (
echo Ctrl+C pressed.
)
(S/N ^) - non aiuto al problema e la scelta dei comandi causa al mio batch per fallito – zipi
1 - Ancora più facile penso è quello di usare le virgolette: 'set/p risposta" = Clicca Y per continuare (S/N) ". Sono abbastanza sicuro che SCELTA non sia standard su alcune versioni di Windows. – dbenham
tutto funziona bene per me. Ti dà un errore? O semplicemente non mostra l'ultima parentesi? –
funziona anche per me. –
non visualizzare l'ultima staffa – zipi