Visualizza versione completa : [Batch] Come creare un menù per avviare diversi programmi in base alla scelta fatta
gutguy
06-06-2006, 16.02.35
Ciao,
Vorrei creare un menù per un mio batch dove si possa scegliere cosa fare in base al tasto premuto, es.:
Se spingi 1 installa tizio caio
se spingi 2 installa pinco palla ecc
il fatto è che non mi ricordo più come si faceva ....
LoryOne
06-06-2006, 17.28.37
@echo off
echo 1 - pippo
echo 2 - pluto
echo 3 - paperino
choice /c:123
if errorlevel 3 goto 3
if errorlevel 2 goto 2
if errorlevel 1 goto 1
:1
echo scelto pippo
goto 4
:2
echo scelto pluto
goto 4
:3
echo scelto paperino
:4
echo fine
gutguy
07-06-2006, 11.31.34
Grazie mille, mi hai fatto un grosso piacere.
Ciao.
Sergio Neddi
08-06-2006, 00.48.16
Per la cronaca i batch su XP si fanno in modo differente in quanto non c'è il comando choice (però si può prendere in prestito quello di win98).
Su XP è possibile sfruttare il il comando set in modo da fargli richiedere all'utente una stringa che viene poi immessa in una variabile.
Si può poi testare il contenuto di questa variabile per eseguire le varie scelte del batch.
Faccio un esempio, ho creato un batch di nome prova.cmd.
Una volta lanciato questo richiede all'utente l'inserimento di S oppure N.
L'input finisce in una variabile di nome pippo (che fantasia) che viene poi testata da alcuni if per vedere se contiene S o N, sia in maiuscolo che minuscolo.
A video appare la risposta, se la stringa digitata non è ammessa riappare nuovamente la richiesta di input.
Ecco qui il batch:
@echo off
:richiesta
set /p pippo="Rispondi S o N "
if %pippo%==S (
echo.
echo hai risposto SI
goto ok
)
if %pippo%==s (
echo.
echo hai risposto SI
goto ok
)
if %pippo%==N (
echo.
echo hai risposto NO
goto ok
)
if %pippo%==n (
echo.
echo hai risposto NO
goto ok
)
rem risposta non valida
goto richiesta
:ok
rem cancella la variabile temporanea pippo
set %pippo%=
vBulletin® v3.8.6, Copyright ©2000-2025, Jelsoft Enterprises Ltd.