Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Altri Linguaggi - Batch, perchè non funziona?!!?
Forum - Altri Linguaggi - Batch, perchè non funziona?!!?

Avatar
luca94 (Normal User)
Pro


Messaggi: 71
Iscritto: 07/05/2008

Segnala al moderatore
Postato alle 14:49
Domenica, 18/05/2008
Ciao a tutti,
sto creando un semplicissimo file batch, ma ho un problema!
Ecco il codice:
Codice sorgente - presumibilmente Delphi

  1. @echo off
  2. choice Effettua una scelta /c:ab
  3. if ERRORLEVEL 1 goto err1
  4. if ERRORLEVEL 2 goto err2
  5.  
  6. :err1
  7. echo Hai scelto il Proemio dell'Iliade
  8. echo.
  9. pause
  10. goto close
  11.  
  12. :err2
  13. echo Hai scelto il proemio dell'Odissea
  14. echo.
  15. pause
  16. 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 il 19/05/2008 alle 0:30
PM Quote
Avatar
klez91 (Normal User)
Pro


Messaggi: 117
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 20:19
Giovedì, 10/07/2008
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:

Codice sorgente - presumibilmente Delphi

  1. @echo off
  2. echo Effettua una scelta a,b
  3. set /p Var=
  4. if %Var% == "a" goto err1 else goto err2
  5.  
  6. :err1
  7. echo Hai scelto il Proemio dell'Iliade
  8. echo.
  9. pause
  10. GoTo Close
  11.  
  12. :err2
  13. echo Hai scelto il proemio dell'Odissea
  14. echo.
  15. pause
  16. GoTo Close



Spero di esserti stato d'aiuto. Ciao :k:

PM Quote
Avatar
carrone (Normal User)
Newbie


Messaggi: 5
Iscritto: 10/03/2010

Segnala al moderatore
Postato alle 20:54
Giovedì, 11/03/2010
klez91 io ho provato a usare le tue srtinghe ma non funzionano avviene sempre lo stesso problema!:d

PM Quote
Avatar
teomangia (Normal User)
Newbie


Messaggi: 8
Iscritto: 17/03/2010

Segnala al moderatore
Postato alle 17:26
Mercoledì, 17/03/2010
Come dice Klez91 il batch si modifica a seconda del Sistema Operativo.

Per quanto riguarda XP si scrive in questo modo:

Codice sorgente - presumibilmente Delphi

  1. @echo off
  2. Set /p _var=Effettua una scelta a,b ?
  3. If [%_var%] == [a] (goto :err1) Else (goto :err2)
  4.  
  5. :err1
  6. echo Hai scelto il Proemio dell'Iliade
  7. echo.
  8. pause
  9. GoTo :eof
  10.  
  11. :err2
  12. echo Hai scelto il proemio dell'Odissea
  13. echo.
  14. pause
  15. GoTo :eof


PM Quote
Avatar
carrone (Normal User)
Newbie


Messaggi: 5
Iscritto: 10/03/2010

Segnala al moderatore
Postato alle 18:52
Mercoledì, 17/03/2010
giusto:rotfl:

PM Quote
Avatar
carrone (Normal User)
Newbie


Messaggi: 5
Iscritto: 10/03/2010

Segnala al moderatore
Postato alle 19:17
Mercoledì, 17/03/2010
ma se per esempio vorrei fare 3 o peggio 4 scelte:-?

PM Quote
Avatar
teomangia (Normal User)
Newbie


Messaggi: 8
Iscritto: 17/03/2010

Segnala al moderatore
Postato alle 19:36
Mercoledì, 17/03/2010
Testo quotato

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.

PM Quote
Avatar
marcozzo (Normal User)
Newbie


Messaggi: 14
Iscritto: 28/03/2010

Segnala al moderatore
Postato alle 14:17
Domenica, 28/03/2010
manca il Choice:
lo puoi trovare su System 32

PM Quote