home *** CD-ROM | disk | FTP | other *** search
- @ECHO OFF
- REM Testen, ob wir das Glück haben unter 4DOS 3+ zu laufen ...
- SET c=
- IF NOT %@eval[2+2]. == 4. GOTO No4DOS
- REM 4DOS geladen, merken und auf BTM umschalten
- LOADBTM ON
- SET c=4DOS
- :No4DOS
- IF %1. == ?. GOTO Help
- CLS
- ECHO. ┌─────────────────────────────────────────────────┐
- ECHO. │ Batch-Datei zum erstellen der Demos aus Lib4A86 │
- ECHO. └─────────────────────────────────────────────────┘
- ECHO.
- ECHO. Compiliere Quelldateien aus dem Directory (Variable: QWL): »%QWL%«
- ECHO. (keine Angabe - aktuelles Directory)
- ECHO.
- ECHO. Erstelle Zieldateien im Directory (Variable: ZWL): »%ZWL%«
- ECHO. (keine Angabe - aktuelles Directory)
- ECHO.
- ECHO. Inhalt der Variablen A86: »%A86%«
- ECHO. (falls deklariert muß diese Variable den Dateinamen MACROS.MAC enthalten!)
- ECHO.
- ECHO. Inhalt der Variablen A86LIB: »%A86LIB%«
- ECHO. (über diese Variable müssen die .LIB-Dateien erreichbar sein!)
- ECHO.
- ECHO. Der A86 muß im aktuellen Diretory sein oder über die Variable PATH
- ECHO. erreichbar sein!
- ECHO.
- ECHO. Ein Hilfstext über die Aufrufsyntax von MKDEMOS ist über den Aufruf
- ECHO. 'MKDEMOS ? (RETURN)' abrufbar.
- ECHO.
- IF NOT %1. == . GOTO SKIP
- ECHO. Stimmen die Variablen? Bitte eine Taste drücken (CTRL-C) für Abbruch ...
- PAUSE >NUL
- :SKIP
-
- REM Macro-Datei nur mit angegeben, falls sie nicht in der Variable A86 definiert ist.
- SET d=MACROS.MAC
- IF NOT "%d%" == "MACROS.MAC" GOTO EnvFehler
- IF NOT "%A86%" == "" SET d=
- SET w=
- IF NOT %1. == . GOTO START
- SET w=ALL
- IF NOT %w%. == ALL. GOTO EnvFehler
- GOTO START
-
- :START
- SET f=xxxxxxxxx
- IF NOT %f%. == xxxxxxxxx. GOTO EnvFehler
-
- :LOOP
- ECHO. Suche Label ...
- IF %1. == . GOTO ALL
- IF NOT %c%. == 4DOS. GOTO %1
- REM Bei 4DOS können die Dateien auch mit Extension angegeben werden
- GOTO %@name[%1]
- :ALL
-
- :BHEAP
- SET f=BHEAP
- ECHO. ********** Erstelle %ZWL%%f%.COM ...
- IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
- A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
- IF ERRORLEVEL == 1 GOTO FEHLER
- IF NOT %1. == . GOTO ENDE
-
- :DATETIME
- SET f=DATETIME
- ECHO. ********** Erstelle %ZWL%%f%.COM ...
- IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
- A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
- IF ERRORLEVEL == 1 GOTO FEHLER
- IF NOT %1. == . GOTO ENDE
-
- :DIRS
- SET f=DIRS
- ECHO. ********** Erstelle %ZWL%%f%.COM ...
- IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
- A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
- IF ERRORLEVEL == 1 GOTO FEHLER
- IF NOT %1. == . GOTO ENDE
-
- :DOSERROR
- SET f=DOSERROR
- ECHO. ********** Erstelle %ZWL%%f%.COM ...
- IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
- A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
- IF ERRORLEVEL == 1 GOTO FEHLER
- IF NOT %1. == . GOTO ENDE
-
- :ENV
- SET f=ENV
- ECHO. ********** Erstelle %ZWL%%f%.COM ...
- IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
- A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
- IF ERRORLEVEL == 1 GOTO FEHLER
- IF NOT %1. == . GOTO ENDE
-
- :EXEC
- SET f=EXEC
- ECHO. ********** Erstelle %ZWL%%f%.COM ...
- IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
- A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
- IF ERRORLEVEL == 1 GOTO FEHLER
- IF NOT %1. == . GOTO ENDE
-
- :EXTDOS
- SET f=EXTDOS
- ECHO. ********** Erstelle %ZWL%%f%.COM ...
- IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
- A86 %d% %QWL%%f%.MAB %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
- IF ERRORLEVEL == 1 GOTO FEHLER
- IF NOT %1. == . GOTO ENDE
-
- :FILES
- SET f=FILES
- ECHO. ********** Erstelle %ZWL%%f%.COM ...
- IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
- A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
- IF ERRORLEVEL == 1 GOTO FEHLER
- IF NOT %1. == . GOTO ENDE
-
- :KEYS
- SET f=KEYS
- ECHO. ********** Erstelle %ZWL%%f%.COM ...
- IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
- A86 %d% %QWL%%f%.MAB %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
- IF ERRORLEVEL == 1 GOTO FEHLER
- IF NOT %1. == . GOTO ENDE
-
- :LONGINT
- SET f=LONGINT
- ECHO. ********** Erstelle %ZWL%%f%.COM ...
- IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
- A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
- IF ERRORLEVEL == 1 GOTO FEHLER
- IF NOT %1. == . GOTO ENDE
-
- :MEMORY
- SET f=MEMORY
- ECHO. ********** Erstelle %ZWL%%f%.COM ...
- IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
- A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
- IF ERRORLEVEL == 1 GOTO FEHLER
- IF NOT %1. == . GOTO ENDE
-
- :MENGEN
- SET f=MENGEN
- ECHO. ********** Erstelle %ZWL%%f%.COM ...
- IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
- A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
- IF ERRORLEVEL == 1 GOTO FEHLER
- IF NOT %1. == . GOTO ENDE
-
- :MQUEUE
- SET f=MQUEUE
- ECHO. ********** Erstelle %ZWL%%f%.COM ...
- IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
- A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
- IF ERRORLEVEL == 1 GOTO FEHLER
- IF NOT %1. == . GOTO ENDE
-
- :MSTACK
- SET f=MSTACK
- ECHO. ********** Erstelle %ZWL%%f%.COM ...
- IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
- A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
- IF ERRORLEVEL == 1 GOTO FEHLER
- IF NOT %1. == . GOTO ENDE
-
- :QUEUES
- SET f=QUEUES
- ECHO. ********** Erstelle %ZWL%%f%.COM ...
- IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
- A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
- IF ERRORLEVEL == 1 GOTO FEHLER
- IF NOT %1. == . GOTO ENDE
-
- :PARMS
- SET f=PARMS
- ECHO. ********** Erstelle %ZWL%%f%.COM ...
- IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
- A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
- IF ERRORLEVEL == 1 GOTO FEHLER
- IF NOT %1. == . GOTO ENDE
-
- :PRINT
- SET f=PRINT
- ECHO. ********** Erstelle %ZWL%%f%.COM ...
- IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
- A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
- IF ERRORLEVEL == 1 GOTO FEHLER
- IF NOT %1. == . GOTO ENDE
-
- :RECORDIO
- SET f=RECORDIO
- ECHO. ********** Erstelle %ZWL%%f%.COM ...
- IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
- A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
- IF ERRORLEVEL == 1 GOTO FEHLER
- IF NOT %1. == . GOTO ENDE
- GOTO ENDE
-
- :STACKS
- SET f=STACKS
- ECHO. ********** Erstelle %ZWL%%f%.COM ...
- IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
- A86 %d% %QWL%%f%.MAB %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
- IF ERRORLEVEL == 1 GOTO FEHLER
- IF NOT %1. == . GOTO ENDE
-
- :STRINGS1
- SET f=STRINGS1
- ECHO. ********** Erstelle %ZWL%%f%.COM ...
- IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
- A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
- IF ERRORLEVEL == 1 GOTO FEHLER
- IF NOT %1. == . GOTO ENDE
-
- :TEXTIO
- SET f=TEXTIO
- ECHO. ********** Erstelle %ZWL%%f%.COM ...
- IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
- A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
- IF ERRORLEVEL == 1 GOTO FEHLER
- IF NOT %1. == . GOTO ENDE
-
- :HELP
- :?
- :-?
- :/?
- ECHO.
- ECHO. MKDEMOS - Compilieren eines oder mehrerer Demos aus Lib4A86
- ECHO.
- ECHO. Aufruf: MKDEMOS
- ECHO. -- Compilieren ALLER Demos
- ECHO.
- ECHO. MKDEMOS name1 {name2} {...}
- ECHO. -- Compilieren der angegebenen Demos,
- ECHO. name# = Name der zu compilierenden Demos ohne Pfad und Extension.
- ECHO. Hinweise:
- ECHO. - Alle beötigten .DEM- und .MAB-Dateien und die Datei DEMOS.INC müssen im
- ECHO. aktuellen Directory oder im Directory dessen Name in der Environment-
- ECHO. Variablen QWL steht (falls diese deklariert ist) sein.
- ECHO. (Der akt. Inhalt der Variable QWL ist: »%QWL%«)
- ECHO. - Falls die Environment-Variable A86 definiert ist, muß die Datei MACROS.MAC
- ECHO. dort deklariert sein.
- ECHO. (Der akt. Inhalt der Variable A86 ist: »%A86%«)
- ECHO. - Die .COM-Dateien werden ins aktuelle Directory oder ins Directory dessen
- ECHO. Name in der Environment-Variablen ZWL steht (falls diese deklariert ist)
- ECHO. geschrieben. (Der akt. Inhalt der Variable ZWL ist: »%ZWL%«)
- ECHO. - Der Inhalt der Variablen ZWL und QWL muß, falls vorhanden mit dem Zeichen
- ECHO. '\' oder ':' enden.
- ECHO. - Die .LIB- und .BIB-Dateien müssen über eine A86.LIB-Datei erreichbar sein!
- GOTO ENDE
-
- :ENVFEHLER
- ECHO.
- ECHO. Der freie Speicher im Environment reicht nicht zur Ausführung dieser
- ECHO. Datei. Bitte den COMMAND.COM mit dem Parameter /e:nnn neustarten
- ECHO. und die Datei nochmal ausführen oder aber MKDEMOS folgendermaßen
- ECHO. aufrufen:
- ECHO.
- ECHO. COMMAND /E:nnnn /C MKDEMOS {parameter}
- ECHO.
- ECHO. wobei nnnn die Größe des Environments in Byte ist (nnnn sollte
- ECHO. etwa 1024 oder größer sein)
- ECHO. (siehe auch DOS-Handbuch)
- ECHO.
- GOTO ENDE1
-
- :FEHLER1
- :%f%
- ECHO.
- ECHO.%QWL%%f%.DEM nicht gefunden!
- ECHO.
- ECHO Bitte eine Taste drücken (CTRL-C für Abbruch) ...
- PAUSE >NUL
- GOTO ENDE
-
- :FEHLER
- ECHO.
- ECHO. Fehler beim Erstellen von %QZL%%f%.COM!
- ECHO.
- IF %w%. == ALL. GOTO ENDE
- ECHO. Bitte eine Taste drücken (CTRL-C für Abbruch) ...
- PAUSE >NUL
-
- :ENDE
- SHIFT
- IF NOT %1. == . GOTO LOOP
-
- :ENDE1
- REM Variablen wieder löschen ...
- SET d=
- SET f=
- SET c=
- SET w=
-
-