Zum Inhalt springen

MS-DOS Menü


Brigadeleiter

Empfohlene Beiträge

Huhu...

Situation: Zwei Rechner, uralt, MS-DOS, 2 Programme zur CNC-Steuerung drauf.

Problem: Anwender dumm :rolleyes: , können nicht exe-Datei angeben um Programm zu starten

Frage: Wie kann man unter DOS ein Auswahlmenü erstellen, das so aussieht:

1. Erstes Programm starten

2. Zweites Programm starten

Also im Win98 Bootdisketten-Style (1. Start Computer with CDROM-Support, 2. Start Computer without...)

Am besten ist es wenn die Programme dann auch wirklich starten wenn man eine Auswahl getroffen hat :D ...

Für alle Antworten schon mal im Vorraus danke... :mod:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn Du es direkt nach dem Booten haben willst, würde ich tatsächlich ein MS-Dos-Bootmenü machen:

[menu]

menuitem=CNC1, Start des Steuerungsprogramms 1

menuitem=CNC2, Start des Steuerungsprogramms 2

menucolor=15,1

menudefault=CNC1, 10

[CNC1]

(Hier steht dann CNC1-spezifisches, wenn vorhanden)

[CNC2]

(Hier steht dann CNC2-spezifisches, wenn vorhanden)

[COMMON]

(Hier stehen noch die gemeinsam benutzten Standardeinträge)

(Hier stehen noch die gemeinsam benutzten Standardeinträge)

:CNC1

cnc1.exe

goto END

:CNC2

cnc2.exe

goto END

:END

Na wenn das jetzt mal funktioniert ;)...

Link zu diesem Kommentar
Auf anderen Seiten teilen

oder Du schreibst ein QBASIC-Programm:

do

cls

auswahl$="0"

print "<1> erstes Programm"

print "<2> zweites Programm"

print "<q> beenden"

input "Ihre Wahl";auswahl$

Select Case auswahl$

 Case "1"

  shell("Befehl zum Starten des ersten Programms")

 case "2"

  shell("Befehl zum Starten des zweiten Programms")

end select

loop until auswahl$="q"

end
(ich hoffe ich hab keine Syntaxfehler reingebracht, konnte es nicht testen und das letzte BASIC-Programm is schon ne weile her) ;) dies kannst Du aus der autoexec.bat mit dem Aufruf:
qbasic /run:menu.bas

starten, wenn du es menu.bas nennst und es im suchpfad ist.

Solltest Du irgendwo noch nen QuickBASIC-Compiler auftreiben, kannst Du das natürlich auch zur exe-Datei umwandeln und so starten...

Der große Vorteil dieser Lösung ist, dass das Menü nach beendigung eines Programmaufrufes von selbst wieder kommt und du nicht den rechner neustarten mußt um wieder an dein Menü zu kommen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

:uli Sehr schön...

Das ist meine config.sys

DEVICE=C:\DOS\HIMEM.SYS

DEVICE=C:\DOS\EMM386.EXE RAM

BUFFERS=15,0

FILES=30

DOS=UMB

LASTDRIVE=E

FCBS=4,0

DEVICEHIGH /L:1,12240 =C:\DOS\SETVER.EXE

DOS=HIGH

COUNTRY=049,850,C:\DOS\COUNTRY.SYS

DEVICEHIGH /L:1,15824 =C:\DOS\DISPLAY.SYS CON=(EGA,,1)

...das meine autoexec.bat:

LH /L:0;1,45968 /S C:\DOS\SMARTDRV.EXE /X

@ECHO OFF

PROMPT $p$g

PATH C:\DOS

SET TEMP=C:\DOS

MODE CON CODEPAGE PREPARE=((850) C:\DOS\EGA.CPI)

MODE CON CODEPAGE SELECT=850

LH /L:1,17232 KEYB GR,,C:\DOS\KEYBOARD.SYS

cls

Die Programme werden mit tx8d.bat und k432.bat (nicht exe wie oben gesagt) gestartet. Wäre dir sehr verbunden, wenn du mir mal die fertigen Dateien hier postest...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also so schwer isses ja jetzt nicht ;)

Config.sys:


[menu]

menuitem=CNC1, Start des Steuerungsprogramms 1

menuitem=CNC2, Start des Steuerungsprogramms 2

menucolor=15,1

menudefault=CNC1, 10


[COMMON]

DEVICE=C:\DOS\HIMEM.SYS

DEVICE=C:\DOS\EMM386.EXE RAM

BUFFERS=15,0

FILES=30

DOS=UMB

LASTDRIVE=E

FCBS=4,0

DEVICEHIGH /L:1,12240 =C:\DOS\SETVER.EXE

DOS=HIGH

COUNTRY=049,850,C:\DOS\COUNTRY.SYS

DEVICEHIGH /L:1,15824 =C:\DOS\DISPLAY.SYS CON=(EGA,,1)

Autoexec.bat:

LH /L:0;1,45968 /S C:\DOS\SMARTDRV.EXE /X

@ECHO OFF

PROMPT $p$g

PATH C:\DOS

SET TEMP=C:\DOS

MODE CON CODEPAGE PREPARE=((850) C:\DOS\EGA.CPI)

MODE CON CODEPAGE SELECT=850

LH /L:1,17232 KEYB GR,,C:\DOS\KEYBOARD.SYS

cls



:CNC1

c:

cd c:\cnc1

tx8d.bat

goto END



:CNC2

c:

cd c:\cnc2

k432.bat

goto END


:END

Edit: Achja, die Pfade zu den CNC-Steuerprogrammen (c:\cnc1, c:\cnc2) musst Du noch anpassen...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das ist der leichteste Weg... :D

[menu]

menuitem=CNC1,Start des Steuerungsprogramms 1

menuitem=CNC2,Start des Steuerungsprogramms 2

menucolor=15,1

menudefault=CNC1,10

[COMMON]

DEVICE=C:\DOS\HIMEM.SYS

DEVICE=C:\DOS\EMM386.EXE RAM

BUFFERS=15,0

FILES=30

DOS=UMB

LASTDRIVE=E

FCBS=4,0

DEVICEHIGH /L:1,12240 =C:\DOS\SETVER.EXE

DOS=HIGH

COUNTRY=049,850,C:\DOS\COUNTRY.SYS

DEVICEHIGH /L:1,15824 =C:\DOS\DISPLAY.SYS CON=(EGA,,1)

Bei dieser Version bringt er beim booten einen Fehler in Zeile 2 und 3, muss das CNC1 und CNC2 nicht nochmal definiert werden, wie in deiner ersten Version???

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hab mal ein bissl rumgespielt, ich hatte recht, so gehts:

[menu]

menuitem=cnc_eins, Starte eins

menuitem=cnc_zwei, Starte zwei

menucolor=15,1

menudefault=cnc_eins, 10

[cnc_eins]

[cnc_zwei]

[COMMON]

DEVICE=C:\DOS\HIMEM.SYS

DEVICE=C:\DOS\EMM386.EXE RAM

BUFFERS=15,0

FILES=30

DOS=UMB

LASTDRIVE=E

FCBS=4,0

DEVICEHIGH /L:1,12240 =C:\DOS\SETVER.EXE

DOS=HIGH

COUNTRY=049,850,C:\DOS\COUNTRY.SYS

DEVICEHIGH /L:1,15824 =C:\DOS\DISPLAY.SYS CON=(EGA,,1)

Musste halt CNC1 und CNC2 definieren, obwohls da nix zu definieren gibt (oder so. :floet: )...

Jetzt gehts auf jeden Fall, vielen Dank für die freundliche Unterstützung... :e@sy

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Jahre später...

'ausgrabgrabgrab'

Abend,

das gute an dem fred, er bringt es so ziemlich genau auf den punkt, was auch ich gerne in die praxis umzusetzen versuchen würde, wäre da nicht dieses kürzel ms, welches mich in eine rechtliche grauzone drängen würde wonach ich nu echt, kein verlangen hab.

Also liebe gemeinde der opensourcefraktion, würde sich das oben angewandte auch in fdos realisieren lassen (klar geht das, nur ... wie)

mit der kleinen Abweichung: das die disk auch unabhängig von sonstigen vorinst. os ihr werk verrichtet.

Alles wat hilft pray.gif

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...