.he                                 BATCH-UTILITIES
.po 2
.fo                                    - # -

                             MS-DOS: BATCH-UTILITIES
                             


           Jeder,  der sich schon tiefer mit dem Betriebssystem MS-DOS 
           beschftigt hat,  wird schon bald auf die ntzliche Technik 
           der BATCH-Dateien-Programmierung gestoen sein.  Leider ist 
           es  nicht immer einfach diese auch wirklich nutzbringend zu 
           verwenden.  Die  Beschreibung der  folgenden  BATCH-Dateien 
           sollen einerseits dem schon erfahrenen Anwender  Anregungen 
           geben,  andererseits auch dem Anfnger die Gelegenheit bie
           ten, die abgetippten Programme sofort anwenden zu knnen.



           Erklrungen  zum  Verstndnis der nachfolgend  besprochenen 
           BATCH-Files:
             
           1. Es  wird sehr viel mit den sogenannten DOS-Variablen  im 
              ENVIRONMENT (s.  File UMGEBUNG) gearbeitet. Diese knnen 
              direkt  oder  innerhalb  von BATCH-Files  mit  dem  SET-
              Kommando eingegeben werden.
              Der  Autor verfgt ber eine  Hardwarekonfiguration  von 
              zwei Festplatten und einer virtuellen Harddisk mit 2 MB. 
              Die  Variablen  P,  Q  und  VIRT  bezeichnen  daher  die 
              Festplatten C, D und E. 

           2. Desfteren  tauchen  in den BATCH-Files folgende  State
              ments  auf:  "ECHO " oder "ECHO" mit  dem  ASCII-Zeichen 
              255, welches, je nach Drucker, verschiedenartig ausgege
              ben wird, am Bildschirm aber nicht erscheint. Dies dient 
              der  berlistung  des  ECHO-Befehls im  DOS  3.X.  Wurde 
              zuerst  ECHO  OFF  eingegeben,  so erscheint  bei  jedem 
              'leeren' ECHO-Statement die Meldung "ECHO ist ON".

           3. Die Befehle CPY,  PUSHDIR und POPDIR sind Public  Domain 
              Software und mssen nicht zwingend verwendet werden.
              Mit  "CPY @[FILE] [Ziel] knnen Dateien,  welche in  der 
              Datei  namens  FILE aufgelistet sind,  nacheinander  zum 
              Ziel kopiert werden (s. RL.BAT). 
              PUSHDIR  legt einen Pfadnamen auf den Stapel und  POPDIR 
              holt ihn wieder herunter.

           4. Die   Anhngung  ">NUL"  an  ein Statement  dient   zur 
              Umleitung einer eventuell ausgegeben Meldung nach "NUL", 
              d.h. eine Bildschirmausgabe wird unterdrckt.




                               PA.BAT und DEF.BAT
                               

           Im  AUTOEXEC.BAT  des  Autors wird zum  Beispiel  der  Pfad 
           "C:\DOS\;C:\XTREE"  folgendermaen  erstellt:
           Zuerst  wird  "SET DEFAULT=C:\DOS\;C:\XTREE" und  dann  mit 
           "SET  PATH=%DEFAULT%" der eigentliche Pfadname  zugeordnet. 
           Dies hat nun den groen Vorteil,  da mit den zwei wirklich 
           einfachen BATCH-Files der Pfadnamen leicht verndert werden 
           kann, ohne jedesmal alles von vorne eingeben zu mssen.

           Beispiel: "PA A:\PLOT" hngt "A:\PLOT" an den Pfadnamen an, 
           "PA" alleine erzeugt wieder den ursprnglichen Pfad. PA.BAT 
           hngt also bei jeder neuen Eingabe einen neuen Namen an den 
           Pfad,  wobei  ein eventuell vorher angefgter  Name  wieder 
           gelscht  wird.  Mit DEF.BAT bleibt ein angehngter Name im 
           Pfad auf Dauer bestehen.  D.h.  "DEF A:\PLOT" erzeugt einen 
           neuen Default-Pfadnamen.




                                   UPDATE.BAT
                                   

           Der  Autor hat nach eingehendem Studium des COPY-Befehls im 
           DOS-Handbuch,  sowie nach einigen frustrierenden  Versuchen 
           nun  doch noch die Lsung gefunden,  wie jedes File auf den 
           Stand des aktuellen Datums gebracht werden kann.  Wer kennt 
           nicht die vielen Dateien mit 1.01.80? Mit "UPDATE Filename" 
           kann  nun  jedes - auch  COM- und  EXE-File  - aktualisiert 
           werden.




                                   TAUSCHE.BAT
                                   

           "TAUSCHE  File1 File2" tauscht die Namen der  beiden  Files 
           aus und zeigt eventuelle Fehler an.




                                     RAM.BAT
                                     

           Um  RAM.BAT nutzen zu knnen,  mssen zwei identische  CON
           FIG.SYS-Dateien vorhanden sein,  wobei eine davon den Namen 
           CONFIG.DEF  tragen mu.  Weiters mu das File CONFIG.SYS im 
           ROOT-Directory  vorhanden sein.  Die Eingabe "RAM 120"  er
           zeugt nun ein CONFIG.SYS,  welches aus dem CONFIG.DEF  ent
           standen ist und eine virtuelle Diskette mit 120 Kb beinhal
           tet (s. Beispiele). Diese steht aber erst nach einem erneu
           ten Warmstart (oder Kaltstart) zur Verfgung.
           (Die Zuordnung "shell=command.com /p /e:384" gibt  brigens 
           einen  erweiterten  Umgebungsspeicher  (gilt  nur  fr  DOS 
           3.20!)  von  384 Bytes (= 16 Paragraphs) an.  "/p" ist  der 
           Schalter um AUTOEXEC.BAT nach der Installation aufzurufen.)



                              RL.BAT und RAMCOM.BAT
                              

           Wer hufig Batch-Files oder andere kleine Utility-Programme 
           verwendet,  wei  wie hufig dadurch eine  Festplatte  oder 
           Diskette  im  Eingriff  sein kann.  Dasselbe gilt  fr  das 
           Nachladen  des Befehlsinterpreters:  sicher haben Sie  sich 
           schon  fter  darber gergert,  da Ihr Rechner  nach  der 

           Ausfhrung einer Funktion oder eines Programmes die Disket
           te  mit  dem Systemprogramm "COMMAND.COM" angefordert  hat. 
           Dies  alles  knnen Sie verhindern,  wenn  Sie  COMMAND.COM 
           und/oder hufig verwendete Batch-Files, COM-Files, etc. auf 
           eine  RAMDISK  kopieren und dies  dem  Betriebssystem  auch 
           entsprechend mitteilen.
           Der Autor verwendet brigens eine 2 MB-Speichererweiterung; 
           es  knnen jedoch beliebig erzeugte RAMDISKs verwendet wer
           den. 

           RAMCOM.BAT  kopiert ausschlielich  den  Befehlsinterpreter 
           auf die RAMDISK. Hierzu ist es notwendig die Variablen VIRT 
           (= RAMDISK) und P (= Laufwerk mit Betriebssystem) vorher im 
           Environment  zu  setzen (siehe hierzu die  Erklrungen  der 
           Einleitung). 

           RL.BAT  erlaubt zustzlich noch weitere Files auf die  vir
           tuelle Disk zu kopieren.  Der Befehl "cpy @virt.fil %virt%" 
           kopiert  alle Files die in der Datei VIRT.FIL gelistet sind 
           in das Laufwerk,  welches in der Variablen VIRT (beim Autor 
           e:)  angegeben ist.  Statt diesem Statement knnen auch di
           rekt  die  einzelnen COPY-Befehle eingegeben  werden  (z.B. 
           COPY 1.bat %VIRT%,  COPY 2.bat %VIRT%,  ....). Im Gegensatz 
           zu  RAMCOM.BAT  wird hier die Variable  DEFAULT  direkt  so 
           gendert,  da  der aktuelle Laufwerksname (der RAMDISK) im 
           Pfadnamen zuerst steht.  Dies deswegen,  da beim System des 
           Autors praktisch smtliche Files auf die virtuelle Harddisk 
           kopiert werden.  Auch das kann natrlich von jedem Benutzer 
           frei   gewhlt  werden.   Der  Befehl  "attr  +h"   schtzt 
           COMMAND.COM vor versehentlichem Lschen auf der RAMDISK und 
           mu nicht unbedingt angefhrt werden.

           Anmerkung:  Die Nachteile einer RAMDISK, nmlich der totale 
           Verlust  des Inhaltes bei einem Systemstart,  knnen  durch 
           die  Vorteile,  die sich durch das Arbeiten mit BATCH-Files 
           von diesem Laufwerk aus ergeben,  mehr als kompensiert wer
           den.  Abgesehen vom unbestrittenen Zeitvorteil,  schont man 
           das  Disketten- oder Festplatten-Laufwerk enorm:  wird  ein 
           BATCH-Job  gestartet,  so holt sich der Rechner den  ersten 
           Befehl aus der BATCH-Datei und fhrt ihn aus.  Danach  wird 
           das Diskettenlaufwerk erneut gestartet,  der Kopf neu posi
           tioniert,  der zweite Befehl geholt,  usw....  Arbeitet der 
           BATCH-Job  nur  auf einem Laufwerk,  so kann  man  deutlich 
           hren, wie der Kopf jeweils neu positioniert wird.
                                                             