Oppure

Loading
18/05/08 12:49
luca94
Ciao a tutti,
sto creando un semplicissimo file batch, ma ho un problema!
Ecco il codice:
@echo off
choice Effettua una scelta /c:ab
if ERRORLEVEL 1 goto err1
if ERRORLEVEL 2 goto err2

:err1
echo Hai scelto il Proemio dell'Iliade
echo.
pause
goto close

:err2
echo Hai scelto il proemio dell'Odissea
echo.
pause
goto close


Dove è l' errore?
Se scelgo a, mi esce "Hai scelto il proemio dell' Iliade"
Se scelgo b esce la stessa cosa!!!!
Come devo fare???
Grazie!!!
Ultima modifica effettuata da Shutdown 18/05/08 22:30
aaa
10/07/08 18:19
klez91
Forse rispondo un po in ritardo e magari tu avrai già risolto, beh purtroppo leggo solo adesso questo post e visto che mi va di rispondere, rispondo, magari potrebbe servire a qualcun altro che legge il post.
Dunque non so che sistema operativo usi ma a meno che tu non l'abbia importato dal vecchio 98, in Xp no esiste il comando choice. Purtroppo siccome sono nativo di xp non so come risponderti per quanto riguarda choice, ma posso aiutarti a trovare una soluzione: invece di utilizzare choice basta semplicemente dichiarare una variabile ( con il comando "set", credo sia presente anche nel 98, scusatemi se sbaglio) il cui valore è l'input della tastiera e poi in base al valore scegliere quali operazioni fare in questo modo:

@echo off 
echo Effettua una scelta a,b 
set /p Var=
if %Var% == "a" goto err1 else goto err2

:err1 
echo Hai scelto il Proemio dell'Iliade 
echo. 
pause 
GoTo Close 

:err2 
echo Hai scelto il proemio dell'Odissea 
echo. 
pause 
GoTo Close 


Spero di esserti stato d'aiuto. Ciao :k:
aaa
11/03/10 19:54
carrone
klez91 io ho provato a usare le tue srtinghe ma non funzionano avviene sempre lo stesso problema!:d
aaa
17/03/10 16:26
teomangia
Come dice Klez91 il batch si modifica a seconda del Sistema Operativo.

Per quanto riguarda XP si scrive in questo modo:

@echo off 
Set /p _var=Effettua una scelta a,b ?
If [%_var%] == [a] (goto :err1) Else (goto :err2)

:err1 
echo Hai scelto il Proemio dell'Iliade 
echo. 
pause 
GoTo :eof 

:err2 
echo Hai scelto il proemio dell'Odissea 
echo. 
pause 
GoTo :eof
aaa
17/03/10 17:52
carrone
giusto:rotfl:
aaa
17/03/10 18:17
carrone
ma se per esempio vorrei fare 3 o peggio 4 scelte:-?
aaa
17/03/10 18:36
teomangia
Postato originariamente da carrone:

ma se per esempio vorrei fare 3 o peggio 4 scelte:-?


Allora, come ti è stato spiegato, non è disponibile il comando ideale a svolgerlo e cioè CHOICE (è possibile installarlo a parte, ma ora non ricordo come).

Puoi ovviare inserendo tanti IF quante sono le scelte possibili, tenendo conto che un programma che si rispetti deve verifcare anche gli errori o scelte non valide.

Per questo il batch che hai visto prima è funzionante, ma non certo corretto.
aaa
28/03/10 12:17
marcozzo
manca il Choice:
lo puoi trovare su System 32
aaa