Avatar billede herberthumlebi Nybegynder
23. september 2005 - 22:57 Der er 3 kommentarer og
1 løsning

Choice command i DOS 7 (win98)

Jeg sidder og fedter med en batchfil, der skal køre i "native" Dos under Windows 98. Brugeren skal på et tidspunkt træffe et valg for at fortsætte. Han skal vælge imellem at lade batchfilen fortsætte med:

filC.bat
filD.bat
filE.bat
filF.bat
filG.bat
filH.bat

Alle batchfiler - både den grundliggende og de seks andre - ligger i samme directory.

Indtil videre har jeg modereret et eksempel, jeg fandt på nettet (http://www.computerhope.com/batch.htm#03):

@ECHO OFF
REM - LABEL INDICATING THE BEGINNING OF THE DOCUMENT.
:BEGIN
CLS
REM - THE BELOW LINE GIVES THE USER 6 CHOICES (DEFINED AFTER /C:)
CHOICE /N /C:CDEFGH PICK A NUMBER (C, D, E, F, G, or H)%1
REM - THE NEXT SIX LINES ARE DIRECTING USER DEPENDING UPON INPUT
IF ERRORLEVEL ==6 GOTO SIX
IF ERRORLEVEL ==5 GOTO FIVE
IF ERRORLEVEL ==4 GOTO FOUR
IF ERRORLEVEL ==3 GOTO THREE
IF ERRORLEVEL ==2 GOTO TWO
IF ERRORLEVEL ==1 GOTO ONE
GOTO END
:SIX
ECHO YOU HAVE PRESSED H
GOTO END
:FIVE
ECHO YOU HAVE PRESSED G
GOTO END
:FOUR
ECHO YOU HAVE PRESSED F
GOTO END
:THREE
ECHO YOU HAVE PRESSED E
GOTO END
:TWO
ECHO YOU HAVE PRESSED D
GOTO END
:ONE
ECHO YOU HAVE PRESSED C
:END

Jeg har brug for seks valg, og det skal helst være bogstaver.

På skærmen får man først:

PICK A NUMBER (C, D, E, F, G or H)

Når jeg fx skriver "H" (uden anførselstegn) kommer:

You have pressed H
C:\Mappen>_

Her ville jeg gerne have, at batchfilen - i stedet for at vise prompten - automatisk kører filen "filH.bat". Og tilsvarende kører filen "filG.bat", når jeg trykker G.

Men hvordan er det lige, jeg får den til dét??
Avatar billede arne_v Ekspert
23. september 2005 - 22:59 #1
call filH.bat

og

call filG.bat

på de rigtige steder !?
Avatar billede herberthumlebi Nybegynder
23. september 2005 - 23:35 #2
Prøver lidt videre, arne... (tak)
Avatar billede herberthumlebi Nybegynder
30. september 2005 - 19:49 #3
Endte med dette:

CHOICE /N /C:CDEFGH Angiv drevet ved dets bogstav (C, D, E, F, G eller H)%1
IF ERRORLEVEL ==6 CALL c:\iedel\dualh.bat
IF ERRORLEVEL ==5 CALL c:\iedel\dualg.bat
IF ERRORLEVEL ==4 CALL c:\iedel\dualf.bat
IF ERRORLEVEL ==3 CALL c:\iedel\duale.bat
IF ERRORLEVEL ==2 CALL c:\iedel\duald.bat
IF ERRORLEVEL ==1 CALL c:\iedel\dualc.bat

Så CALL var en god ide. Læg et svar, arne
Avatar billede arne_v Ekspert
30. september 2005 - 19:53 #4
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester