View Full Version : HELP!!!!! Urgente Menu multiscelta DOS........
:doh: Scusate sono disperato......................... A questo punto nn so cosa fare.........!!!!!!!!!!!!! vorrei creare un menu multiscelta da eseguire poi in dos pero nn da command di windows ma la mia intensione sarebbe quella di: 1) creare un file .bat con un codice ke attraverso una scelta di numeri mi avvii un programma (fino qui lo so fare e da cmd funziona ma da dos puro no) 2)creare un disco avvio dos 3) andare dopo aver avviato il floppy nella directory del file .bat che avevo creato ed eseguirlo
io sono arrivato a scrivere il file .bat, se lo eseguo da cmd da win mi si presenta il menu multiscelta come desidero al contrario del dos ke si esegue tutti i comandi in successione senza darmi l'opportunità di scelta. :cry: :cry:
mi potete fare un esempio di menu multiscelta ke funzioni (allo stesso modo eseguito da dos e da cmd)??? oppure mi consigliate qualke comando o qualke altro linguaggio di programmazzione ke è + opportuno usare....
;) GRAZIE ANTICIPATE ;)
:doh: Scusate sono disperato......................... A questo punto nn so cosa fare.........!!!!!!!!!!!!! vorrei creare un menu multiscelta da eseguire poi in dos pero nn da command di windows ma la mia intensione sarebbe quella di: 1) creare un file .bat con un codice ke attraverso una scelta di numeri mi avvii un programma (fino qui lo so fare e da cmd funziona ma da dos puro no) 2)creare un disco avvio dos 3) andare dopo aver avviato il floppy nella directory del file .bat che avevo creato ed eseguirlo
io sono arrivato a scrivere il file .bat, se lo eseguo da cmd da win mi si presenta il menu multiscelta come desidero al contrario del dos ke si esegue tutti i comandi in successione senza darmi l'opportunità di scelta. :cry: :cry:
mi potete fare un esempio di menu multiscelta ke funzioni (allo stesso modo eseguito da dos e da cmd)??? oppure mi consigliate qualke comando o qualke altro linguaggio di programmazzione ke è + opportuno usare....
;) GRAZIE ANTICIPATE ;)
sotto dos per la condizione devi usare il comando choice tipo:
:menu
cls
choice /c:123 /n CHE SCEGLI? 3 torni al menu
if errorlevel 1 goto 9
if errorlevel 2 goto 6
if errorlevel 3 goto 8
:6
..fai
goto avanti
:9
...fai
goto avanti
:8
goto menu
:avanti
... continua magari metti un cls per pulire lo schermo
cls
oppure cerca con google commandi dos
ciao
Dos non mi riconoisce il comando choice ........... Lo sai se puoi mi riscrivi questo menu utilizzando il comando set e facendo in modo che mi funzioni in dos dandomi la possibilita di scelta ovvero ke gli dica io cosa fare e non lui ke ei esegua i comandi in successione? :fagiano: :fagiano: :fagiano:
GRAZIE ANTICIPATE
:banned: :banned:
P.S.= Spiegami anche se lo conosci il comando path........
Il comando choice non lo trovi in XP, ma se non sbaglio lo trovi sotto Windows 98 e dovrebbe funzionare anche con XP... Mi smebra che sia stato introdotto nel dos 6.2...
Sotto XP puoi usare set, ma non funziona sotto 9x e DOS...
@ECHO OFF
CLS
:LOOP
ECHO A. Menu item A
ECHO B. Menu item B
ECHO C. Menu item C
ECHO Q. Quit
:: SET /P prompts for input and sets the variable
:: to whatever the user types
SET Choice=
SET /P Choice=Type the letter and press Enter:
:: The syntax in the next line extracts the substring
:: starting at 0 (the beginning) and 1 character long
IF NOT '%Choice%'=='' SET Choice=%Choice:~0,1%
ECHO.
:: /I makes the IF comparison case-insensitive
IF /I '%Choice%'=='A' GOTO ItemA
IF /I '%Choice%'=='B' GOTO ItemB
IF /I '%Choice%'=='C' GOTO ItemC
IF /I '%Choice%'=='Q' GOTO End
ECHO "%Choice%" is not valid. Please try again.
ECHO.
GOTO Loop
:ItemA
ECHO Insert commands for Item A.
GOTO Again
:ItemB
ECHO Insert commands for Item B.
GOTO Again
:ItemC
ECHO Insert commands for Item C.
GOTO Again
:Again
PAUSE
CLS
GOTO Loop
:End
Il comando choice non lo trovi in XP, ma se non sbaglio lo trovi sotto Windows 98 e dovrebbe funzionare anche con XP... Mi smebra che sia stato introdotto nel dos 6.2...
Infatti... uso xp e allora sono andato su win98 perchè mi ricordavo che usavo choice e mi ricordo che scaricai DR-DOS 7.02 in quanto choice non mi funzionava dal command.com del dos di default su win98.
Devi scaricarti DR-DOS 7.02 Updates: BETA files
Ricerca con google.
Sotto xp non sò se funziona il dos 7.02 prova un pò. Forse devi usare un emulatore per il dos sotto xp non ne sono sicuro perchè il dos sotto xp non mi è mai servito.
per lavori a basso livello (asm ecc,ecc) uso il buon win98.
ciao
:mc: Scusa se ti disturbo ma quello script ke mi hai dato tu da usare mi funziona in parte da cmd mentre da dos si esegue tutti i comandi a catena................ al solito :cry: :cry:
Comunque da cmd mi fa selezionare la lettera dopo di che mi dice dopo ke premo enter Ad esenpio premendo a mi dice ('=='A' non atteso) e dopo di ke se ne esce........... Cosa puo essere accaduto?
P.S.= Ho usatoi il tuo script copèiandolo da qui e incollandolo in notepad e salvandolo con estensione.bat
:help: :help: :help:
Come ti dicevo quello che ti ho dato funziona solo su WindowsXP, ma non sotto DOS... Per usarlo sotto DOS devi provare con CHOICE....
Se lo metto in un file .cmd a me funziona perfettamente...
:cry: a me se lo salvo come .cmd e lo eseguo sempre da win mi da qull'errore di poco fa............Ad esenpio premendo a mi dice ('=='A' non atteso.)
ecco lo script ke uso:
@ECHO OFF
CLS
:LOOP
ECHO A. Menu item A
ECHO B. Menu item B
ECHO C. Menu item C
ECHO Q. Quit
:: SET /P prompts for input and sets the variable
:: to whatever the user types
SET Choice=
SET /P Choice=Type the letter and press Enter:
:: The syntax in the next line extracts the substring
:: starting at 0 (the beginning) and 1 character long
IF NOT '%Choice%'=='' SET Choice=%Choice:~0,1%
ECHO.
:: /I makes the IF comparison case-insensitive
IF /I '%Choice%'=='A' GOTO ItemA
IF /I '%Choice%'=='B' GOTO ItemB
IF /I '%Choice%'=='C' GOTO ItemC
IF /I '%Choice%'=='Q' GOTO End
ECHO "%Choice%" is not valid. Please try again.
ECHO.
GOTO Loop
:ItemA
ECHO Insert commands for Item A.
GOTO Again
:ItemB
ECHO Insert commands for Item B.
GOTO Again
:ItemC
ECHO Insert commands for Item C.
GOTO Again
:Again
PAUSE
CLS
GOTO Loop
:End
cosa puo essere io sto seguendo le tue istruzioni alla lettera...................
:doh: :doh: :doh: :doh:
Ma su che versione di Windows lo stai eseguendo ?
xp professional con service pak 2
peche? cmq mi sembra molto difficile da attuare la mia idea ke metodo alternativo posso usare anke utilizzando altri linguaggi di programmazzione? qualcosa pero ke si comporti allo steso modo sia da dos ke da win...... :doh: :doh: :doh: :doh: :doh: :doh:
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.