Dos-Box Batch-Datei

  • Hallo an alle Batch-Programmier.


    Ich habe da eine kleine Frage an euch:


    Ich spiele momentan das Spiel Master of Orion 2.


    Nun ist es so, dass ich jedesmal den Befehl:


    "mount c c:\


    mount d f:\ -t cdrom


    d:


    Install"


    eingeben muss in der Dos Box.


    Gibt es eine Option diesen befehl irgendwie in eine Batchdatei umzuwandeln , damit man das Spiel innerhalb einer Batchdatei laden kann, ohne dass ich jedesmal diesen Befehl eingeben muss ?


    Die Quelldatei Orion.mds lade ich bereits mit dem Daemon Tool.


    LG


    Mayar

  • Schreib das einfach so wie es ist in eine Textdatei rein und nenn sie orion.bat oder so.
    Notepad wäre ein geeigneter Editor.
    Fertig. Dann einfach die .bat Datei anklicken um das Spiel zu starten.

  • @ Gnartsch - Besten Dank.


    @ Quit pro Quo- Ebenfalls besten Dank


    PS: Wusste gar nicht, dass man eine Batch-Datei so einfach erstellen kann.


    Funktioniert das bei jeder Text-Eingabe, die eine Funktion ausführen soll ?


    LG


    Mayar

  • Ja. Eine einfache Batchdatei ist erstmal nichts anderes als eine Reihe von Befehlen die man sonst händisch auf der Kommandozeile eingeben könnte.
    Es kann aber noch viel mehr... und dann kann man es auch als Batch-Programmierung bezeichnen.

  • Danke :)


    Noch eine Frage ->


    Mount c c:\ und d: f:\ ist mir ein begriff...es handelt sich dabei um eine Installation eines virtuellen Laufwerks innerhalb dos box..


    Aber was genau heisst -t cdrom ?


    Was bedeutet -t ?


    LG


    Mayar

  • Mayar, du könntest dir auch einfach ein Startmenü basteln (das haben wir damals unter DOS immer gemacht). Dann kannst du nachher immer bequem darüber deine Programme/Spiele starten.


    Dann schreibst du dir unter deine "# Lines in this section will be run at startup." in der dosbox.conf einfach sowas wie

    • mount c d:\
      c:
      cls
      @echo off
      cd\EMULAT~1\DOS
      menu
      @echo on

    und erstellst dir eine menu.bat, die dann aussieht wie das hier und dann noch die bat-Dateien 1.bat, 2.bat etc., in die du schreibst, wie das Spiel gestartet wird (und die nach Beenden wieder auf "menu" verweist).
    Das ist am Anfang zwar ein wenig Bastelei (die ich übrigens spaßig finde), aber nachher hat man es sehr bequem. ;) Na gut, es ist auch viel Spielerei dabei - aber dennoch finde ich es bequemer, einfach eine Zahl einzugeben, als erst nachschauen zu müssen, wo ich das Spiel noch gleich hingestopft habe.

  • Hallo Notesthes :)


    Das ist ja wirklich klasse - dass man soetwas machen kann - Für die, die es können.


    Ich selbst kann das glaub ich nicht so gut wie du:


    Schon beim ersten Punkt:


    Wohin soll ich den Satz "# Lines in this Section will be run at startup." (Und wieso muss ich das schreiben - Ist ja kein befehl, oder doch" ?


    Die Zeilen unten:


    mount c d:\
    c:


    cls
    @echo off
    cd\emulat~1\DOS
    menu
    @echo on ->


    Wohin kommt ?


    Und meine zeilen c c:\
    d f:\ -t cdrom
    d:
    install


    wohin kommt die genau ?


    Wieso .bat 1 und .bat 2 ?


    Wieviele Bat-Dateien bräuchte ich schlussendlich für solch ein Menü...:)


    Habe das noch nie gemacht :)


    LG


    Mayar


    Frage -> Kannst du mir diese befehle irgendwie erläutern dasd mti @echo off etc...ich meinte die erste Zeile...


    aber immerhin bsten Dank für deine Idee und Support :)


    LG


    Mayar

  • Also ich versuchs mal zu verstehen :)


    1. Bat = Startmenü
    2. bat = Spiel


    in 1.Bat kommt der startmenübefehl (Deine Zeilen)


    2.Bat (mein spielbefehl des spiels) :)


    Alles klar habe es mal so ungefähr verstanden.


    EDIT:


    Ungültiger Befehl "#


    ->


    Also nochmals


    ich erstelle eine Menu-bat mit den folgenden Zeilen:


    mount c d:\
    c:
    cls
    @echo off
    cd\EMULAT~1\DOS
    menu
    @echo on


    das wars...


    Danach erstelle ich meine game.bat :


    mount c c:\


    mount d f:\ -t cdrom


    d:


    install


    ->


    Richtig so ?


    Oder muss ich bei der Menu noch irgendwelche Anweisungen bezüglich des Datenträgers angeben bez. ändern ?


    Das Daemon Tool hat das Image von MOO2 in F:\


    LG


    Mayar

  • Ok, Schritt für Schritt. ^^


    In deiner dosbox.conf steht unten sowas wie "# Lines in this section will be run at startup." (das mußt du nicht schreiben, das sollte da schon stehen). Darunter kannst du Dinge schreiben, die mit dem Öffnen des Programms direkt ausgeführt werden sollen.


    Ich habe da stehen

    • mount c d:\ (mountet mein Laufwerk D unter dem Emulator als C)
    • c: (Gehe auf Laufwerk C)
    • cls (Clearscreen = mache meinen Bildschirm frei)
    • @echo off (Zeige das C:> nicht mehr an)
    • cd\EMULAT~1\DOS (Gehe ins Verzeichnis c:\emulat~1\Dos)
    • menu (führe Datei Menu.bat aus, die im Ordner c:\emulat~1\Dos vorhanden ist)
    • @echo on (Stellt mir das c:\..> wieder an)


    Ich habe meine ganzen bat-Dateien in einen eigenen Ordner getan. Du könntest auch einfach alles in den Pfad c:\Dos\ tun, dann würde oben nicht cd\EMULAT~1\DOS stehen sondern nur cd\DOS.


    Dann legst du dir im Ordner c:\Dos eine Datei an, die du menu.bat nennst. In diese Schreibst du sowas wie:

    • @echo off
      cls
      echo.
      echo 1 - Spiel 1
      echo 2 - The incredible Machine
      echo.
      echo exit - Doxbox beenden
      echo

    (oder was auch immer.)


    Dann legst du dir zwei weitere Dateien an, 1.bat und 2.bat. In die schreibst du dann, wie das Spiel zu starten ist. Beispiel 2.bat:

    • @echo off
      cls
      echo ... starte The incredible Machine ...
      cd\DOS\Spiele\MACHINE
      tim
      cd\DOS
      menu

    Das würde bei mir das Spiel starten. Zeile für Zeile erklärt:

    • @echo off (dann sieht der folgende Rest hübscher aus)
    • cls (wie oben, mache Bildschirm frei - natürlich nur des Emulators)
    • echo ... starte The incredible Machine ... (stellt den Text dar, der hinter "echo " steht)
    • cd\DOS\Spiele\MACHINE (Gehe ins Verzeichnis des Spiels)
    • tim (rufe dortige exe-Datei aus, hier tim.exe)
      Dann, wenn man das Spiel beendet:
    • cd\DOS (Geht wieder ins Verzeichnis der ganzen bat-Dateien)
    • menu (Ruft mir wieder obiges Menü auf)


    Du hast also die menu.bat, um dir anzeigen zu lassen, welche Zahl du eingeben mußt, um welches Spiel zu spielen (nur ein Menü halt). Und die 1.bat, 2.bat und so weiter wären die ausführenden Dateien, um das Spiel zu starten und nachher wieder zum Menü zurückzukommen.


    Edit: So sieht meine menu.bat aus - menu.txt (Natürlich mußt du das txt noch durch bat ersetzen.)

  • Ah jetzt ist es mir klar!


    Eigentlich sind die Befehle:


    #echo off -> Für text
    cd\Dos\Moo2 -> Verzichnis meines Spiels
    moo2
    cd\dos - Verzeichnis meiner Menu.bat
    menu -> Menu.bat


    Jetzt verstehe isch die Hiercharchie der Befehle bez. kann sie zuordnen :)


    Bei mir müsste ales stehen:


    Menu.bat:


    z.b.


    mount c d:\
    cls
    @echo off
    cls
    echo.
    echo 1 - Master of Orion II
    echo.
    echo exit
    echo


    moo2.bat


    @echo off
    cls
    echo ... starte moo2 ...
    mount c c:\


    moutn d f:\ -t cdrom
    d:
    install
    cd\dos
    menu


    -> Stimmt das so ?


    Ich muss eben master of orion immer zuerst in der dosbox per mounting "installieren", bevor ich es spielen kann...das alles geht nur in dos box!


    LG


    Mayar

  • Mal sehen. Also, wenn du Laufwerk d schon auf c gemountet hast, dann solltest du nicht auch noch c auf c mounten. Du brauchst c ja nicht, also lasse das "mount c c:\" einfach weg.
    Und du hast "mountn d f:\ -t cdrom" geschrieben, ein n zu viel, oder? ;)


    Wenn du das Dos-Laufwerk c (was ja Windows-Laufwerk d: ist) niemals ummountest (brauchst du auch eigentlich nicht, es gibt schließlich ausreichend Buchstaben im Alphabet), dann solltest du auch die Zeile "mount c d:\" in der menu.bat weglassen können - das sollte ja schon in der dosbox.conf (*) stehen.


    Das "echo exit" kannst du auch weglassen. Ich persönlich habe es mir nur mit ins Menü geschrieben, um zu wissen, wie ich die Dosbox per Konsolenbefehl beende (auch wenn ich es wohl auch ohne wüßte....). Kannst es aber auch stehen lassen.


    Dann hast du in deinem Text geschrieben "1 - Master of Orion II"; also willst du ja auch, wenn du "1" eingibst, daß das Spiel startet. Also nenne die bat-Datei entsprechend 1.bat (statt moo2.bat). Dann kannst du 1 tippen und Enter - und das Spiel würde starten. (Bei deiner Namensgebung der bat-Datei müßtest du moo2 eingaben; damit hast du wenig gewonnen.)


    Schließlich noch eine Sache. Hast du deine dosbox.conf auch verändert (z.B. wie ich oben schrieb)? (*) Ich gehe davon aus.
    Wenn ja, sollte es so klappen.

  • Lieben herzlichen Dank Notesthes :)


    Mount ohne n - genau :)


    doxbox.conf habe ich noch nicht editiert.


    Wie ist das überhaupt ?


    Ich kan master of orion ja nur über das Deamontool (f:\) starten und muss innerhalb der doxbox zuerst die installation einleiten.


    Kann man dies auch umgehen :) ?!


    LG


    mayar

  • Da ich keine Ahnung habe, mit welcher Datei man das Spiel startet etc., weiß ich das leider nicht. Hast du denn schonmal auf dem Laufwerk geschaut, mit welchen Dateien man das Spiel evtl. noch starten könnte? (Ansonsten, ich befürchte, da kann ich dir nicht wirklich helfen...)

  • Das Spiel lässt sich unverweigerlich mit der Moo.mds (EINE IMAGE-DATEI) per Daemon Tool laden!


    Muss dann aber per Dosbox darauf hinweisen, auf das virtuell-simulierte Laufwerk des Daemon Tools :->


    mount d f:\ -t cdrom


    (F:\ = VL -> Daemon Tool)

  • Zitat

    Da ich keine Ahnung habe, mit welcher Datei man das Spiel startet etc., weiß ich das leider nicht....

    ..vermutlich "install.exe" ?
    Edit: Sorry, mein Fehler. "Install.exe" wird ausschließlich für die Installation benötigt. ;(


    Mir gefällt die Idee mit dem Menü wirklich gut. Vielen Dank Notesthes, daß du es hier so ausfürhlich und verständlich erklärt hast. :love:


    OT:
    Da ich nun am Menü basteln bin, habe ich herausgefunden, wie man bei jedem Start die Schriftfarbe wechseln kann und sich auch einiges noch grafisch gestalten lässt. Kann man sich ja richtig schnuckelig machen, so ein Menü.


    :loop
    Set /a num=(%Random% %%9)+1
    color %num%


    ...............♥............♥♥ ♥
    ................♥♥♥...♥.♥♥♥♥♥
    .................♥♥...♥♥.........♥
    ................♥♥♥.♥...♥.........♥
    ...............♥♥♥♥........♥♥....♥♥♥♥♥♥
    ..............♥♥♥♥♥.........♥♥.♥............♥♥
    .............♥♥♥♥♥..........♥♥...............♥.♥♥
    .............♥♥♥♥♥..........♥..............♥
    .............♥♥♥♥♥♥.......♥.............♥
    ..............♥♥♥♥♥♥.......♥..........♥
    ...............♥♥♥♥♥♥♥♥............♥
    .......................♥♥♥♥♥♥♥.♥♥
    ..♥♥♥♥♥♥♥..............♥♥
    ...♥♥♥♥♥♥♥.............♥
    ....♥♥♥♥♥♥..............♥ ♥
    .....♥♥♥......♥...........♥♥
    .....................♥............♥
    ...............♥♥♥♥.♥.....♥
    .......♥♥♥♥♥♥..♥..♥
    ......♥♥♥♥♥♥♥.......♥.
    ......♥♥♥♥♥............♥
    ......♥♥...................♥
    .......♥....................♥
    ..........................♥.♥
    ............................♥♥
    ............................♥
    ............................♥
    ............................♥
    ............................♥
    ............................♥
    ............................♥


    @echo on :)

  • Warum wirft keiner den Spamer raus?


    Mayar, das Spiel läßt sich über die orion2.exe starten.
    Im Verzeichnis ist eine kleine Konfigurationsdatei namens orioncd (wenn nicht, erzeuge eine und schreibe ".\ " hinein. Sieht so aus, als ob du deinen CD-Pfad dort festlegen oder rauswerfen (.\ ) kannst. Also Vollinstallation und CD vergessen.
    Bei mir läuft das Spiel übrigens ohne DosBox problemlos.

  • ok ok...das genügt definitiv...:)


    Machen wir hier mal ne Pause bez. Schluss ;)


    Mount d: g:


    Mount d:


    @echo off


    echo.


    Danke QpQ /G:\Thief\offtopic


    Danke Notesthes / G:\ Thief\offtopic


    Danke Fibanocci / G:\Thief\Offtopic :)


    echo.


    @echo on


    Ich versuchs mal mit der Orion.cd ...


    ...@echo off ...Danke...@echo on


    ..exit..


    LG


    Mayar