home *** CD-ROM | disk | FTP | other *** search
/ Vectronix 2 / VECTRONIX2.iso / FILES_01 / MAGICUPD.LZH / MAGIC3.UPD / CMD / CMD.DOC
Text File  |  1991-06-29  |  73KB  |  1,476 lines

  1. 080000002000000160000000004000000
  2. 11
  3. 2Seite #1
  4. F0110030001
  5. R   [................................................]0110
  6. 9[........................................................]0110
  7. ÇHannover,den22.06.90
  8.  
  9. üëBEDIENUNGSANLEITUNGZURGEMDOSê┐ëSHELL"CMD"undKAOSSHELL"KCMD"V2.59
  10. Ç
  11.  
  12.  
  13. êInhaltsverzeichnisÇ
  14.  
  15.  
  16. 9[...................................................]0010
  17. 0.Allgemeines
  18. 1.DieinternenBefehle
  19.    1.1  ATTRIB
  20.   1.2 BREAK
  21.   1.3 CD
  22.   1.4 CLS
  23.   1.5 CK
  24.   1.6 COPY
  25.   1.7 DATE
  26.   1.8 DEL
  27.   1.9 DIR
  28.    1.10ECHO
  29.    1.11END
  30.    1.12EXIT
  31.    1.13FIND
  32.    1.14FOR
  33.    1.15FREE
  34.    1.16GOTO
  35.    1.17IF
  36.    1.18MD
  37.    1.19MORE
  38.    1.20MV
  39.    1.21PATH
  40.    1.22PAUSE
  41.    1.23PROMPT
  42.    1.24RD
  43.    1.25REN
  44.    1.26SHIFT
  45.    1.27SET
  46.    1.28SORT
  47.    1.29TIME
  48.    1.30TOUCH
  49.    1.31TREE
  50.    1.32TYPE
  51.    1.33VER
  52.    1.34VERIFY
  53. 2.ExterneKommandosimBIN-Ordner
  54.   2.1 PRINT
  55.   2.2 CRASHDMP
  56.   2.3 EXE2BIN
  57.   2.4 LABEL
  58.   2.5 FC
  59.   2.6 KILLRAM
  60.    2.7ASTOWORD
  61.    2.8WORDTOAS
  62. 2.9DUMP
  63. 2.10SPLIT
  64. 3.Stdout/Stdin-Umlenkung
  65. 4.Geräte(Devices)
  66. 5.Kommandozeilen-Auswertung
  67. 6.Editor-Steuertasten
  68. 7.StartenvonProgrammen(ExterneKommandos)
  69. 8.Batch-Dateien
  70. 9.CMDalsAccessory.Allgemeinesundspezielles
  71.  
  72.  
  73. 9[...........................................................]0110
  74.  
  75. ê0.AllgemeinesÇ
  76.  
  77.  
  78. ւUpdatesvonV2.55=>V2.56:
  79. -KorrekturdesBefehls"COPYdateinul",derbisherbeimehrals64k
  80. Dateilängenichtfunktionierte.
  81. -KorrekturderDatumsverarbeitungfürJahreszahlennachdemJahr2000.
  82. -AnpassungvonKCMD.ACCandasendgültigeTOS1.4vom6.4.89
  83. -KorrektureinerUnschönheitbeimKopierenvonDateien.Wegenungerader
  84. Grö₧edesKopierpufferskonnteesvorkommen,da₧dasKopieren
  85. unerträglichlangsamwurde,daSektorenaufungeradeAdressenübertragen
  86. werdenmu₧ten.
  87.  
  88. UpdatesvonV2.56=>V2.57:
  89. -Wenn\AUTOEXEC.BATbzw.\BOOT.BATnichtgefundenwerdenkönnen,wird
  90. C:\AUTOEXEC.BATgesucht.WereinanderesLaufwerkbevorzugt,möge
  91. einfachmitMUTILsuchen,sehenundpatchen.
  92. -BeiMOREwirdderTastendrucknichtmehrvonBIOS,sondernvonGEMDOS
  93. geholt;daherkannmanwährendderAusgabeschoneineTastedrücken,die
  94. dannindenGEMDOS-Tastaturpufferkommt.
  95. -BeiDEL,COPY,MV,ATTRIBwirdnachjederDateiderGEMDOS-Tastaturpuffer
  96. abgefragt,soda₧manzwischendurchmit^Sanhalten,mit^Qweiterlaufen
  97. lassenundmit^Cabbrechenkann(zumindestunterKAOS).
  98. -BeiDELwirdeinSchalter"-N"ausgewertet,mitdemmandie
  99. Sicherheitsabfrageabschaltenkann.
  100. -BeiKCMDsetztderSconfig-AufrufnichtmehrdieKonfigurationeinfach
  101. auf1(alleBitsau₧erautomatischerPfadsucheauf0),sondernholtdie
  102. aktuelleKonfiguration,setztBit0ohneVeränderungderanderenBits
  103. undsetztdanndieseKonfiguration.
  104.  
  105. UpdatesvonV2.57=>V2.58:
  106. -Bei"more"kannmanmitderLeertasteeinSeiteweiterundsonsteine
  107. Zeileweiterscrollen.
  108. -ACCswerdenimGrafikmodusgestartet.
  109.  
  110. UpdatesvonV2.58=>V2.59:
  111. -EswirdzuerstnachC:\AUTOEXEC.BAT,dannnach\AUTOEXEC.BATgesucht.
  112. -DerEvent-Critic-ManagerwurdeanKAOS1.4angepa₧tundbrichtmit^C
  113. daslaufendeProgrammab.
  114. -FürTurbo-C2.0wirdderBefehl"sh"inderKommandozeileignoriert.
  115. -neuesexternesKommando:SPLIT
  116. -überarbeitet:DUMP
  117.  
  118.  
  119. CMDV2.59samtOrdnerBIN\istShareware,derSharewarebeitragistbei
  120. regelmä₧igerBenutzungzuentrichtenundbeträgt20 DM(direktperScheck
  121. oderScheinandenAutor),derAutor
  122.  
  123.   AndreasKromke
  124.   3000Hannover61
  125.   Steinbruchstra₧e17
  126.  
  127. verlangtaber,da₧derOrdnerKCMDimmeralsGanzesweiterzugebenwird
  128. unddieseroderTeiledavonnichtinirgendwelcheSoftwarepaketeinte
  129. griertwerden.EinegedruckteAnleitungodereinUpdate-Serviceistbei
  130. einemsogeringenBeitragnatürlichnichtmöglich.KommerzielleNutzung
  131. (Vertrieb,BeigabezukommerziellvertriebenenProgrammen,Weitergabe
  132. gegenGebührenetc.injederForm(diesschlie₧tauchdenVertriebüber
  133. Public-Domain-Sammeldiskettenoderähnlichesein)istünichtgestattetÇ.
  134. DieDateiendürfennichtvonanderengegenBezahlungweitergegebenoder
  135. dasProgrammselbstoderdiezugehörigenDateiendurchunsachgemä₧e
  136. Eingriffeverändertwerden.
  137. Dahermerke:
  138.  
  139. äWerKommandoprozessorennachmachtoderverfälschtoder
  140. nachgemachteoderverfälschteKommandoprozessorensich
  141. verschafftundinVerkehrbringt,wirdmitAnalysis-
  142. Zettelnnichtunter2Stückbestraft
  143. Ç
  144. FürSchäden,diedurchAnwendungdiesesProgrammsentstehen,kannder
  145. Autorselbstverständlichnichthaften.
  146. EventuelleÄhnlichkeitenvonCMDoderdenHilfsprogrammenmitanderen
  147. ProgrammennamhafteroderunbekannterHerstellersindnichtbeabsichtigt,
  148. sondernwärenreinzufällig.
  149.  
  150. ≤ÇDasBetriebssystemGEMDOSdesAtariist,einschlie₧lichderFunktionsnum
  151. mernfürdieDOS-Aufrufe,fastkompatibelzuMS-DOS2.0.Auchlassensich
  152. MS-DOSDiskettenproblemloslesenundbeschreiben.
  153. DieseÄhnlichkeithatmichbereits1986dazubewogen,eineKommando-
  154. OberflächewieCOMMAND.COMfürdenAtarizuschreiben,ohnemichdabei
  155. sklavischandas"gro₧e"Vorbildzuhalten.WerMS-DOSkennt,wirdsehr
  156. schnellmitCMDumgehenkönnen.Mankönntedabeifastvergessen,da₧man
  157. esmiteinemAtarizuhat;ja,wennnichtdievielenFehlerdesGEMDOS
  158. (oderJAM-DOS?)wären;nichtumsonsthei₧tdieVersionjaauchbeiTOS
  159. 1.2noch0.19undbeiTOS1.40.21(sieheinternesKommandoVER),was
  160. auchkeingro₧esVertraueneinflö₧enkann.
  161. DaherenthältdieseDiskettedreiVersionendesCMD:
  162.  
  163. 1)CMD.PRGgehtsehrnachsichtigmitdemBetriebssystemumundkorri
  164. gierteinigeDOS-FehlerwiedieDiskwechselerkennung,das
  165. SetzenderUhrzeitvonDateienundeinenFehlerbeimSetzen
  166. derStandardpfade.DieFehlerderEin-/Ausgabeumlenkung
  167. werdenNICHTumgangen;CMDselbstfunktioniertaberbei
  168. Umlenkung.
  169. DieHaupteigenschaftistdervomBetriebssystemunabhängige
  170. Zeileneditor,derinseinenFunktionendesinKAOS1.2.3
  171. integriertenEditorsenspricht.
  172. CMDläuftaufsämtlichenaltenundzukünftigenTOS-
  173. Versionen,daesvölligbetriebssystemversionsunabhängig
  174. ist(langesWort...).
  175. é2)KCMD.PRGfürdasKAOS-BetriebssystemmitDOS-Versionsnummer0.21
  176. oderhöher.EinigeFeaturessindnurbeiKCMD,nichtbei
  177. CMDvorhanden.AuchKCMDläuft"imPrinzip"mitjedem
  178. Betriebssystem;esenthältjedochkeineUmgehungenvonDOS-
  179. Fehlern,dadiesbeiKAOSnichtmehrnötigist.Sodürfte
  180. KCMDbesondersaufdenbisherigenTOS-Versionennicht
  181. immerperfektfunktionieren.
  182. DieHauptbesonderheitist,da₧KCMDkeinenintegrierten
  183. Zeileneditorbesitzt,sonderndenvomDOSverwendet.Auf
  184. demnormalenTOSistKCMDalsonichtbesonderskomfortabel.
  185. AlleKCMDundKAOSbetreffendenStellendieserAnleitung
  186. sindhellmarkiert.
  187. ä3)KCMD.ACCDieAccessory-VersionvonKCMD.PRG.GegenüberderPro
  188. gramm-VersionmüssennatürlicheinigeEinschränkungenin
  189. Kaufgenommenwerden.SokönnenbeispielsweisekeineGEM-
  190. Applikationengestartetwerden(GfA-BASICfunktiniert
  191. aber).AnsonstenmitKCMDimwesentlichenidentisch.Alles,
  192. wasfürdieAccessory-VersionundnichtfürKCMD.PRGgilt,
  193. isthierkursivhervorgehoben.
  194. Ç
  195. AnsonstensindCMD.PRG,KCMD.PRGundKCMD.ACCunabhängigvonder
  196. Betriebssystem-VersionundlaufendahermitsämtlichenbekanntenVersio
  197. nendesTOS(1.0/1.2/1.4).
  198. äAchtung:AufgrundeinesFehlersimAESistdasStartenvonProgrammen
  199. unterKCMD.ACCnurunterfolgendenTOS-Versionenmöglich:
  200.   TOS1.0vom6.2.86
  201. TOS1.2vom22.4.87
  202. TOS1.4vom6.4.89
  203. BeidiesenVersionenwurdederFehlerumgangen,leidermu₧tedabeieine
  204. Versions-AbhängigkeitinKaufgenommenwerden.NäheresstehtinKapi
  205. tel 9.
  206. Ç
  207. NocheinHinweiszuGEMDOS-Fehlern:
  208. AngeblichexistierteineListemit96Fehlern,wasnichtgenaustimmen
  209. mu₧,aberdurchausglaubwürdigerscheint.FastalledieseFehlertretenim
  210. Desktopnichtauf,werdendahervon99%allerAtari-Besitzerniemals
  211. bemerktwerden.UnterCMD,dassichausschlie₧lichaufGEMDOSverlä₧tund
  212. keinenseinerFehlerabfängt,siehtdasganzandersaus.Ständigtreten
  213. neue,unbekannteFehlfunktionenauf.
  214. EinFehleristdabeieigentlichalles,wasbeiMS-DOS2.0funktioniertund
  215. beiGEMDOSnicht.MeistenssagteinemaberauchdergesundeMenschenver
  216. stand,obetwassoseinsollteodernicht.
  217. EinbesondersärgerlicherFehleristz.B.:
  218. VerwendetmanPfadnamenwie"A:CMD.PRG"anstellevon"A:\....",also
  219. verwendetdenaktuellenPfadeinesLaufwerks,kannesvorkommen(auch
  220. unterTOS1.4undaufdemTT!!!!),da₧GEMDOSmitseinenPfadenund
  221. Laufwerkenvölligdurcheinanderkommt.Z.B.kannbei"DIRA:"derDisk
  222. namevonA:unddanndasVerzeichnisvonD:erscheinen.DerDisketten
  223. namestimmtimmer,daerimmervomWurzelverzeichnisgeholtwird,was
  224. keineSchwierigkeitenmacht.
  225. °ÇAbhilfe:Erscheintz.B.bei"DIRD:"dasVerzeichnisvonA:,genügtes
  226. meistens,"CDD:\"und"CDA:\"einzugeben.Dannhatsich
  227. GEMDOSwiederberuhigt,vielleichtbiszumnächsten
  228. Diskwechsel.
  229. DerFehlertrittgarnichtauf,wennmanallePfadangaben
  230. immeraufderRootbeginnt.Also"DIRA:\"geht(fast)immer.
  231. AusdiesemGrundhatauchdasDesktopkeineProbleme,das
  232. sowiesodiemeistenFehlerdesGEMDOSabfängt.
  233. éAlledieseFehlersindunterKAOSbehobenunddürfenbeiKAOS+KCMDnicht
  234. auftreten.KCMDschaltetperSconfig(1,1L)dieautomatischePfadüberprü
  235. fungein(sieheBeschreibungvonKAOS)undstelltvorProgrammendeden
  236. vorherigenZustandwiederher.
  237. Ç
  238. WurdeCMDmitKommandozeilegestartet,wirddieseausgeführt.Andernfalls
  239. wird,fallsvorhanden,eineBatchdatei"\AUTOEXEC.BAT"ausgeführt(d.h.
  240. aufdemWurzelverzeichnisdesaktuellenLaufwerks);wurdeCMDimAUTO-
  241. Ordnerodermitdercomload-Optiongestartet,wirdstattAUTOEXEC.BAT
  242. eineBatchdateimitNamenBOOT.BATausgeführt.SchlägtderersteVersuch
  243. fehl,wirdnachC:\AUTOEXEC.BATgesucht(auchimFallAUTO-Ordner).
  244. DanachwirdimmerderfreieSpeicherangezeigt.
  245. WirdbeimLadendieTasteCTRL-Cgedrückt,unterbleibenobigeAktivitäten.
  246. EinTip:ImDesktopunter"EXTRAS:Anwendunganmelden"fürCMD.PRGals
  247. Dateityp".BAT"anmelden.WennmaneineFestplattebenutzt,das
  248. DESKTOP.INFineinengeeignetenEditorladenundstattnur
  249. "CMD.PRG"denPfad,aufdemsichCMDbefindet,mitangeben,z.B.
  250. "C:\CMD.PRG".
  251. DannkannjedeBatchdateimitDoppelklickwieeinProgramm
  252. gestartetwerden.EnthältdieBatchdateieinenEXIT-Befehl,
  253. wirdnachAblaufdesBatchprogrammswiederinsDesktopzurückge
  254. kehrt;mankannauchvorEXITeinenPAUSE-Befehleinfügen,der
  255. erstaufeinenTastendruckwartet.
  256. FürTOS1.0und1.2beachteman,da₧einDoppelklickaufeine
  257. Datei.BATfolgendesbewirkt:
  258. -DasVerzeichnis,indemdieDatei(!)liegt,wirdaktuelles
  259. Verzeichnis.
  260. -pfad\CMDwirdmitdemeinfachenDateinamenohnePfadangabe
  261. gestartet.
  262. InTOS1.4(8.8.88)gilt:
  263. -DasVerzeichnis,indemCMD(!)liegt,wirdaktuelles
  264. Verzeichnis.
  265. -CMDwirdinseinemeigenen(aktuellen)Verzeichnisgestar
  266. tetunderhältalsParameterdenvollständigen(!)Pfadna
  267. menderDatei.FallssichCMDund.BATimselbenOrdner
  268. befinden,verzichtetAESaufdenPfadderDatei,aberdas
  269. hatkeinenEinflu₧aufdieWirkungsweise.
  270.  
  271. CMDenthältkeineGEM-Aufrufe,kannalsoimAUTO-Ordnerodermitder
  272. comload-OptiondesBootprogrammsgeladenwerden.IndiesemFallkannaber
  273. natürlichkeinGEM-ProgrammvonCMDausgestartetwerden.Istdas
  274. aufgerufeneGEM-Programmordentlichgeschrieben(leiderseltenderFall),
  275. sowirdeseinfachmitoderohneFehlermeldungabbrechen.Au₧erdem
  276. funktioniertdasEinschaltendesMauszeigersnicht,wennCMDimAUTO-
  277. Ordnerstand,dadiezugehörigenLineA-FunktionenzudiesemZeitpunkt
  278. nochnichtinitialisiertsind.
  279. WurdeCMDmitdercomload-Optiongestartet,istesnichtzuempfehlen,
  280. dasKommando"exit"einzugeben,dadieszumSystemabsturzführt.Atarihat
  281. diesenFalloffensichtlichnichtberücksichtigt.
  282. WurdeCMDimAUTO-Ordnergestartet,solltemandieDisketteaufkeinen
  283. Fallwechseln,damitderAUTO-VorgangnachBeendigungvonCMDweiterlau
  284. fenkann.Mu₧dieDiskettedochgewechseltwerden,mu₧manunbedingtvor
  285. dem"exit"-KommandodieAUTO-Diskettewiedereinlegenund"cdauto"
  286. eingeben(umdenOrdnerGEMDOSbekanntzumachen).
  287.  
  288. äKCMD.ACCwertetniemalseineKommandozeileaus,sondernlädtAUTOEXEC.BAT
  289. beimerstenAnwählendesAccessories.Aktiviertmanspäternocheinmaldas
  290. Accessory,wirdsofortdasersteKommandovonderTastaturerwartet.Ç
  291. äKCMD.ACCenthältnatürlichGEM-AufrufezumAnmeldenimMenü.Accessories
  292. werdenimmmererstnachdemStartvonAESgeladen.Dahergibteskeine
  293. SonderregelungenfürdenStartausdemAUTO-Ordneretc.
  294. MankannfürdasAccessorykeinenDateitypanmelden.
  295. Ç
  296. InCMDwirdbeijedemDateizugriffinternerKommandosfestgestellt,obim
  297. angesprochenenLaufwerkdieDiskettegewechseltwurde.Wennja,wird
  298. GEMDOSdurchdenAufrufvonFsfirst()dazuveranla₧t,seineinternen
  299. Pfadpufferzuaktualisieren.Daheristdaraufzuachten,da₧z.B.beim
  300. WechseldesaktuellenLaufwerksschoneineDisketteeingelegtist.
  301. ⁿÇDabesagterFsfirst()-AufrufmitdemWurzelverzeichnisalsPfadder
  302. einzige(!)GEMDOS-Befehlist,derdenDiskettenwechselabfragt(auch
  303. einProgrammierfehler!),gibtessonstSchwierigkeitenmitdemAuffinden
  304. vonPfadenundDateienz.B.beiCOPYundCD.
  305. DieSchwierigkeitenbleibenjedochbeiexternenBefehlen:
  306. Hatmanz.B.inA:eineneueDiskeingelegtundruftaufD:einexternes
  307. Programmmit"D>pgm a:\subdir\dat"auf,wirdGEMDOSdieDatei"dat"
  308. (soferndasexterneProgrammseinenParameterdurchFopen()sucht)i.a.
  309. nichtfindenkönnen,bevoresnichtdurcheinenFsfirst()-Aufrufdazu
  310. veranla₧twurde,seineinternenPfadpufferneuaufzubauen.
  311. Abhilfe:NachjedemDiskwechselinX:erstmit"X:"oder"dirX:"GEMDOS
  312. initialisieren,bevormaneinProgrammstartet.
  313. éUnterKAOSundKCMDtrittderFehlernichtauf,daperSconfig()die
  314. automatischePfadüberprüfungeingestelltwurde.Wederbeiinternennoch
  315. beiexternenKommandosdürfteeszuSchwierigkeitenkommen.Damithatman
  316. mitKCMDundKAOSdieselbeZuverlässigkeitwieunterCOMMAND.COMundMS-
  317. DOS;mitdemUnterschied,da₧beinichtschreibgeschütztenDiskettender
  318. Pfadzugriffsehrvielschnellerverläuft,daMS-DOSdiePfadenichtim
  319. Speicherhält.
  320. Ç
  321.  
  322. ê1.DieinternenBefehleÇ
  323.  
  324.  
  325. ê1.1ATTRIBÇ
  326.  
  327. Syntax:ATTRIB[schalter1schalter2...]name1name2...
  328.                schalter=+|-{rsha}
  329.                name=Dateinameoder-musteroderPfad
  330. Zweck:  AttributbytevonDateienanzeigenoderändern.
  331. WerdenkeineSchalterangegeben,werdendieAttributenurangezeigt:
  332.   RRead-Only                 (schreibgeschützt)
  333.   SSystem                    (versteckteSystemdatei)
  334.   HHidden                    (versteckteDatei)
  335.   AArchive                   (erstabTOS1.4unterstützt)
  336. Mit"ATTRIB+rc:f:"lassensichbeispielsweisealleDateieninden
  337. aktuellenVerzeichnissenderLaufwerkeC:undF:schreibschützen.
  338. "ATTRIB -rsha d:\cmd.prg"löschtalleobigenAttributederDateicmd.prg
  339. imWurzelverzeichnisvonD:.
  340. AbTOS1.4wirddasAttribut'A'korrektausgewertet,ansonstenerfüllt
  341. keineinzigesderAttributebeiirgendeinemvonAtaristammenden
  342. BetriebssystemdenursprünglichdokumentiertenZweck!Dashei₧t
  343. beispielsweise,da₧manschreibgeschützteDateienunterTOSmunterbe
  344. schreibenkann.
  345. DisknamenundOrdnerwerdennichtangezeigtoderverändert!
  346. ê
  347.  è1.2BREAKé
  348.  
  349. Syntax:BREAK
  350. BREAKON
  351. BREAKOFF
  352. Zweck:Break-Verify-FlagdesKAOSanzeigen/ändern.Unternormalem
  353. GEMDOSbewirktderBefehleinfachnichts.
  354. BeimStartenvonCMDistdasBreak-Flagimmerausgeschaltet.Bei
  355. eingeschaltetemFlagkannmaneinlaufendesProgrammvorundnachjedem
  356. GEMDOS-Aufrufabbrechen.
  357. ImGegensatzzuMS-DOSbewirktdasBetätigenvonCTRL-CimTOSleider
  358. keinenInterruptineineBreak-Handling-Routine.Daherfunktioniertdie
  359. BetätigungvonCTRL-CwirklichnurbeiEintrittundAustrittausGEMDOS,
  360. woderTastaturpufferdurchsuchtundbeiBedarfeinProgrammabbruch
  361. bewirktwird.
  362. Ç
  363. ê1.3CDÇ
  364.  
  365. Syntax:CD
  366. CDd:
  367. CDpfad
  368. CDd:pfad
  369. Zweck:AktuellesVerzeichnisanzeigenoderändern
  370. CD(changedirectory)ohneParameterzeigtdasaktuelleVerzeichnisdes
  371. aktuellenLaufwerks.
  372. CDd:zeigtdasaktuelleVerzeichnisdesLaufwerksd:.
  373. CDpfadsetzt<pfad>alsaktuellesVerzeichnisdesaktuellenLaufwerks.
  374. CDd:pfadsetzt<pfad>alsaktuellesVerzeichnisdesLaufwerksd:.Diese
  375. Befehlsformmitd:alseinemnichtaktuellenLaufwerkist,obwohl
  376. dokumentiert,beidenvonAtaristammendenTOS-Versionennichtmöglich
  377. undfunktioniertnurunterKAOS.
  378.  
  379. √ê1.4CLSÇ
  380.  
  381. Syntax:CLS
  382. Zweck:Bildschirmlöschen.Au₧erdemWRAPONundINVERSOFF.
  383.  
  384. ê1.5CKÇ
  385.  
  386. Syntax:CK
  387. CKd:
  388. Zweck:Laufwerk-Informationenausgeben
  389. CK(checkdisk)gibtdieLaufwerks-InformationenfürdasLaufwerkd:aus.
  390. WurdekeinParameterangegeben,wirddasaktuelleLaufwerkbenutzt.
  391. Au₧erdemwirddieGrö₧edesHauptspeichersangezeigt.CMDverlä₧tsich
  392. dabeiaufdieSystemvariablephystop;istdieseVariablez.B.voneiner
  393. resetfestenRamdiskmanipuliertworden,kanndertatsächlicheSpeicher
  394. grö₧ersein,alsvonCKangezeigt.
  395.  
  396. ;ê1.6COPYÇ
  397.  
  398. Syntax:COPY[-t]pfad
  399. COPY[-t]datei(muster)
  400. COPY[-t]pfadpfad
  401. COPY[-t]datei(muster)pfad
  402. COPY[-t]datei1datei2
  403. Zweck:Datei(en)kopieren
  404. FehltderzweiteParameter,wirddasaktuelleVerzeichnisangenommen.
  405. IstdieQuelleeinPfadodereinDateimuster,werdenalleDateiendes
  406. Pfadesbzw.allepassendenDateienkopiert.
  407. EinPfadkannauf'\'endenoderauchnicht.
  408. Wird<datei2>angegeben,bekommtdieKopiederDateidenNamen<datei2>.
  409. QuelleundZielkönnenauchGeräte("CON:","AUX:","PRN:")sein.Istdie
  410. QuelleeinGerät(CON:,AUX:),wirdkopiert,biseineZeilegelesenwird,
  411. dienurausCTRL-Zbesteht.NachjedereingelesenenZeilewirddie
  412. ZeichenfolgeCR/LFergänzt.
  413. EineDateikannnichtinsichselbstkopiertwerden;CMDfängtdiesen
  414. Fehlergeschicktab.éKAOStutdiesselbst.Ç
  415. Sindwenigerals10kBSpeicherfrei,wirddergesamtefreieSpeicherals
  416. Kopierpufferbenutzt,sonstwirdnurdieHälfteverwendet.Sokannsich
  417. (imGegensatzzumDesktopabTOS1.2)einedynamischeRamdisknoch
  418. vergrö₧ern.
  419. ImGegensatzzumDesktop-COPYbeimungepatchtenTOSbehaltenDateienbeim
  420. KopierenihraltesDatumunddieUhrzeit(nichtbeiungepatchtemTOS
  421. 1.0/1.2undKCMD.PRG,daKCMDdenDOS-Fehlernichtabfängt).Jedochist
  422. dasDateiattributimmer0(normaleDatei,nichtschreibgeschützt,sichtbar
  423. usw.).
  424. MitHilfedesSchalters'T'bekommtdieZieldateidasTagesdatum,also
  425. entspricht"COPY-t..."demüblichenDesktop-COPY.DieserSchalterist
  426. zuempfehlen,wennmanz.B.DateienmitdemnichtssagendenDatum6.2.86
  427. oder22.4.87kopiert.'T'istdieAbkürzungfür"Touch"undbedeutet,da₧
  428. eineDateidasTagesdatumbekommt,wiewennsiegeändertwordenwäre
  429. (sieheauchinternesKommando"TOUCH").Wichtigistdasz.B.,wennmanein
  430. MAKEbenutzt.
  431. Bemerkung:InMS-DOSexistierteineBefehlsformzumVerkettenvonDateien
  432. ("COPYdatei1+datei2+...zieldatei).CMDverwendetdazuden
  433. TYPE-Befehl(s.u.).
  434. FürdasErstellenvonBatchdateieneignetsichderBefehl"COPY
  435. CON:datei".DieEingabewirdmiteinerZeileabgeschlossen,
  436. dienurausCTRL-Zbesteht.
  437. éFürdasTesten,obeineDateieinenLesefehlerenthält,eignet
  438. sichbesondersderBefehl"COPYdateinul".Hierbeiwird
  439. besondersschnellgelesen,danichtsgeschriebenwerdenmu₧.
  440. Ç
  441. ∩ê1.7DATEÇ
  442.  
  443. Syntax:DATE
  444.         DATEdatumsangabe
  445. Zweck:  Systemdatumsetzen
  446. WirdDATEohneParametergestartet,kanndasDatumvonHandeingegeben
  447. werden.Wirdnur<Return>gedrückt,bleibtdiealteEinstellungerhalten.
  448. WirdnureineZahleingegeben,wirdnurderTaggeändert,beizweiZahlen
  449. TagundMonat.Tag,Monat,Jahrkönnendurchbeliebigenichtnumerische
  450. Zeichenvoneinandergetrenntwerden.
  451. Bemerkung:Mit"DATE<datei"kanndasDatumstattvonderStandard-
  452. EingabeauchvoneinerDateigelesenwerden.
  453. BeiTOS1.0wirdnurdieGEMDOS-Uhrgesetzt,soda₧diealte
  454. ZeitimTastaturprozessor(XBIOS-Aufruf)undsobeieinem
  455. Reseterhaltenbleibt.AbTOS1.2wirddieHardware-Uhr
  456. (Quarzuhrbzw.Tastaturprozessor)mitgesetzt.
  457.  
  458. #ê1.8DELÇ
  459.  
  460. Syntax:DEL[-n]datei1datei2...
  461. Zweck:Datei(en)löschen
  462. DEL(delete)kannbeliebigvieleArgumentehaben(OS/2lä₧tgrü₧en).Ist
  463. <datei>einDateimusterodereinPfad,werdenallepassendenDateiennach
  464. Sicherheitsabfragengelöscht;dieseSicherheitsabfragekannmitdem
  465. Schalter"-N"abgeschaltetwerden.
  466. AufdieSicherheitsabfragenkanngeantwortetwerden:
  467. J,Y       Ja,angezeigteDateilöschen;weiterfragen
  468. NNein,angezeigteDateinichtlöschen;weiterfragen
  469. GGlobal,abjetztalleDateienohneAbfragenlöschen
  470. A,Q,^CAbbruch,Löschenbeenden
  471. WenneinFehlerauftritt,mu₧diesnichtdaranliegen,da₧dieDatei
  472. schreibgeschütztist.EinFehlertrittauchdannauf,wenndieDateivon
  473. CMDodereinemanderenVorgängerproze₧geöffnetwurdeundnochnicht
  474. geschlossenist.InsolcheinemFallgenügtes,dieDiskettemitdem
  475. Kommando"free"(s.u.)abzumelden.
  476.  
  477. ╘ê1.9DIRÇ
  478.  
  479. Syntax:DIRpfad1pfad2...
  480. DIR-W-P-Q-S...
  481.         DIR-WQPpfad
  482. DIR-Ppfad1-Wpfad2-W-Dpfad3...
  483. Zweck:Inhaltsverzeichnisanzeigen
  484.  
  485. -Wgibtein"platzsparendes"Listingaus          (wide).
  486. -PhältdasListingnachjederSeitean           (page).
  487. -QverzichtetaufDisknameundfreienSpeicher    (quick).
  488. -SlistetalleDateienmitAttributen             (system).
  489.  
  490. Sortiermodi:
  491. -NordneNamen
  492. -DordneDatum/Zeit
  493. -GordneGrö₧e
  494. -AordneArt
  495. -Uunsortiert
  496.  
  497. BeimSortieren(wennnichtOption-Uaktivist)werdenOrdnerimmerzuerst
  498. angezeigt.WirdkeinSortiermodusangegeben,wirdderdesletztenDIR-
  499. Aufrufsbenutzt;beiFehleingabenwirdnachNamensortiert.Beider
  500. AusgabeeinesVerzeichniswirdderSortiermodusmitausgegeben,wennünichtÇ
  501. nachNamensortiertwird.
  502. DIRkannmaximal512Einträgesortierenundbenötigtdazukurzfristigetwa
  503. 14kHautpspeicher.IstnichtgenügendfreierSpeichervorhanden,wirddas
  504. Verzeichnisunsortiertausgegeben.äDiesistbesondersfürAccessories
  505. wichtig,WORDPLUSlä₧timmernuretwa4kfrei,andereProgrammesindnoch
  506. schlimmer.
  507. ÇDIRkannbeliebigvieleArgumentehaben,dieVerzeichnissewerdendann
  508. nacheinanderausgegeben.DabeiwirddieAnzahlderDateienunddie
  509. DateilängeninsgesamtaddiertunderstganzzumSchlu₧ausgegeben.Die
  510. freienBytesderDiskwerdennichtausgegeben.DieseMöglichkeitist
  511. praktisch,wennmandieGesamtlängebestimmterDateienermittelnmöchte,
  512. dieaufverschiedenenPfadenliegen,umsieaufeineDiskzukopieren,auf
  513. derwomöglichnichtmehrgenügendPlatzist.
  514. Ist<pfad>einDateimuster(z.B."texte\*.doc"),werdenallepassenden
  515. Dateienausgegeben.
  516. WennderSchalter"s"nichtangegebenwurde,werdennur"normale"
  517. Dateienangezeigt.Mit"s"werdenauchSystemdateienoderversteckte(!)
  518. Dateienangezeigt,DateienmitAttribut"Volume"jedochnie.
  519. Manbeachte,da₧beimungepatchtenGEMDOSz.B.schreibgeschützte,ver
  520. steckteDateienoderversteckteDisknamenwiedersichtbarwerden.Dieser
  521. FehleristauchinTOS1.4nochenthalten,aberdieDokumentationwurde
  522. demFehlerangepa₧t("It'safeature,notabug").
  523. DerSchalter"q"istfürTOSvor1.4undFestplattengedacht,diemit
  524. kleinenClustern(1kB)formatiertsindunddahereinebesondersgro₧e
  525. FAThaben.DieAusgabeerfolgtdannsehrvielschneller.
  526.  
  527. ê1.10ECHOÇ
  528.  
  529. Syntax:ECHO
  530. ECHO[-n]string1string2...
  531. ECHOON
  532. ECHOOFF
  533. Zweck:ZeichenkettenausgebenoderECHO-Modussetzen/anzeigen
  534. ECHOohneParameterzeigtdenECHO-ModusfürdenBatchbetrieban.Per
  535. DefaultistECHOimmerOFF(d.h.dieausgeführtenZeilenwerdenim
  536. BatchbetriebünichtÇangezeigt).
  537. ECHOONoderECHOOFFsetztdenECHO-Modus.
  538. ECHO<string>gibt<string>unddanneinenZeilenvorschubnachstdoutaus,
  539. mitderOption-nwirddieserZeilenvorschubunterdrückt.
  540.  
  541. ê1.11ENDÇ
  542.  
  543. Syntax:END
  544. Zweck:BrichtBatchdateiab
  545. ENDbrichtnurdielaufendeBatchdateiab;wenndiesevoneineranderen
  546. Batchdateiaufgerufenwurde,wirddienächsteZeilewiederausder
  547. übergeordnetenBatchdateigeholt.
  548.  
  549. ∙ê1.12EXITÇ
  550.  
  551. Syntax:EXIT
  552. Zweck:cmdverlassen
  553. ImGegensatzzuCOMMAND.COMinMS-DOSbewirktauchimBatchbetriebder
  554. BefehlEXITeinVerlassendesKommandointerpreters.
  555.  
  556. ê1.13FIND
  557. Ç
  558. Syntax:FINDstring
  559. Zweck:ZeichenketteninTextdateiensuchen
  560. FINDisteinFilter,dashei₧t,erliestvonstdinundschreibtnach
  561. stdout.Manmu₧alsostdinaufdiezudurchsuchendeDateiumlenken.
  562. FINDunterscheidetnichtzwischenGro₧-undKleinschreibung.
  563. Bemerkung:Falls<string>Leerstellenenthält,mu₧<string>inAnführungs
  564. zeichengesetztwerden.
  565. CTRL-ZwirdalsDateiendeerkannt
  566.  
  567. ê1.14FORÇ
  568.  
  569. Syntax:FOR var ( wert1 wert2 .. ) ...
  570.   Setzt var=wert1, führt ... aus. Beim nächstenmal wird var=wert2 gesetzt
  571.   und ... ausgeführt usw. Ist die Liste zuende, d.h. ')' erreicht, wird
  572.   ... nicht ausgeführt, sondern gleich zum nächsten Kommando übergegangen.
  573.  FOR NOT var ( wert1 wert2 .. ) ...
  574.   Setzt var=wert1, überspringt ... Beim nächstenmal wird var=wert2 gesetzt
  575. und ... wiederübersprungenusw. IstdieListezuende,d.h.')'
  576. erreicht,wird ... ausgeführt.
  577. Zweck:SteuerunginBatch-Dateien
  578. FOR darf nicht geschachtelt werden!!!
  579. Die Leerzeichen vor und nach den Klammern sind notwendig!!!
  580.  
  581. ê1.15FREEÇ
  582.  
  583. Syntax: FREE[x:]
  584. Zweck:GibtGEMDOS-SpeicherfüraktuellesoderLaufwerkx:frei.
  585. Wenndas100OrdnerProblemakutwird,kannmanmitdiesemBefehlden
  586. SpeicherfüreinegeradenichtbenötigteHarddisk-Partitionfreigeben.
  587. Au₧erdemkannmandiesenBefehlanwenden,wennGEMDOSsichweigert,Ordner
  588. oderDateienzulöschen,obwohldieseleerbzw.nichtschreibgeschützt
  589. sind.
  590.  
  591. ê1.16GOTOÇ
  592.  
  593. Syntax:GOTOlabel
  594. Zweck:UnbedingterSprunginBatch-Dateien
  595. DasLabelineinerBatchdateihatdieForm":name"
  596.  
  597. ê1.17IFÇ
  598.  
  599. Syntax:IF ERRORLEVEL n ... Führt ... aus, wenn Fehlercode >= n oder < 0
  600.  IF s1 == s2 ...    Führt ... aus, wenn <s1> = <s2>.
  601.  IF EXIST datei ... Führt ... aus, wenn <datei> existiert.
  602.  IF NOT ...         Führt ... aus, wenn Bedingung nicht erfüllt
  603. Zweck:BedingterSprunginBatch-Datei.
  604. DerFehlercodewirdvomletztenausgeführteninternenoderexternen
  605. Kommandozurückgegeben.EinWertungleichNullsignalisierti.a.da₧ein
  606. Fehleraufgetretenist.DieBefehleIF,END,FOR,GOTOveränderndenFehler
  607. codenicht.
  608.  
  609. ê1.18MDÇ
  610.  
  611. Syntax:MDdatei
  612. Zweck:NeuenOrdnererstellen
  613. MD(makedirectory)erstellteinenneuenOrdnermitNamen<datei>.Ein
  614. OrdnerodereineDateigleichenNamensdarfnichtschonimselben
  615. Verzeichnisvorhandensein.
  616. Achtung:NormaleDateienoderDisknamenwerdenvorTOS1.4wegeneines
  617. GEMDOS-FehlersdurchMDgelöscht,wennsiedenselbenNamenwie
  618. derneueOrdnerhaben.Alternative:KAOSbenutzen.
  619.  
  620. ≤ê1.19MOREÇ
  621.  
  622. Syntax:MORE
  623. Zweck:SeitenweiseAusgabevonTexten
  624. MOREisteinFilter.Wird"--Mehr--"angezeigt,kanndieAusgabemit^C
  625. abgebrochenwerden.MitderLeertastewirdeineSeite,sonsteineZeile
  626. weitergescrollt.
  627. ^ZinderDateiwirdalsDateiendeerkannt.
  628. MOREsolltewiealleFilternurinPipesoderbeiumgelenkterStandard-
  629. Eingabeangewendetwerden,dasonstvonderTastaturgelesenwird;z.B.
  630. wirkt"MORE<datei"ähnlichwiedieFunktion"Dateianzeigen"imDesktop
  631. (ohnesichjedochbeileerenDateienodersolchenmitn*4096Bytes
  632. oderLesefehlernaufzuhängen...)
  633.  
  634. 1ê1.20MVÇ
  635.  
  636. Syntax:SieheCOPY
  637. Zweck:Datei(en)umbenennenoderverschieben
  638. MV(move)wirktähnlichwieCOPY,kopiertdieDatei(en)jedochnicht,
  639. sondernverschiebtsieinnerhalbderVerzeichnis-StrukturêeinesÇLauf
  640. werks,wasnatürlichvielschnellergeht.Beispiele:
  641.  
  642. -"MVdateineuername"benenntdiedie<datei>einfachum.
  643. -"MV.\"verschiebtalleDateienimaktuellenUnter
  644. verzeichnis(".")indasWurzelverzeichnis
  645. ("\").
  646. -"MV\*.hheaders"verschiebtalleC-HeaderdateienvomWurzel
  647. verzeichnisinden(hoffentlichvorhandenen)
  648. Ordner"headers".
  649. -"MVauto\dat.prg"SchiebtdieDatei"dat.prg"vomAUTO-Ordner
  650. insaktuelleVerzeichnis.
  651.  
  652. DasVerschiebenistimmernuraufdemselbenLaufwerkmöglich.DieAngabe
  653. vonGeräten(CON:,AUX:,PRN:)istunzulässig.EbensodarfkeineDateimit
  654. demneuenNamenschonexistieren.
  655. MVgibtbeiFehlernummerndenvomDOSerhaltenenFehlercodeimKlartext
  656. aus.éLeiderhatdiesernurbeiKAOSunmittelbaretwasmitdemtatsächlich
  657. aufgetretenenFehlerzutun.Ç
  658. WennmannichtunterKAOSarbeitet,istderMV-BefehlmitVorsichtzu
  659. genie₧en.SchwierigkeitengibtesbeispielsweisebeivollemRoot-
  660. DirectoryoderUmbenennenineinexistierendesUnterverzeichnisusw.
  661. Bemerkung:BeiMS-DOSisthiernurdasUmbenennenEINERDateiinDEMSELBEN
  662. VERZEICHNISmöglich.CMDbietetdagegenalleMöglichkeitendes
  663. UNIX-KommandosMV.
  664. Au₧erdemhatauchCMDdenBefehlREN,derwieunterMS-DOS
  665. arbeitetundabTOS1.4auchOrdnerumbenennenkann.
  666.  
  667. ê1.21PATHÇ
  668.  
  669. Syntax:PATH
  670. PATHpfad1;pfad2...
  671. Zweck:Kommando-Suchpfadsetzenoderanzeigen
  672. PATHohneParameterzeigtdenSuchpfadan.MitParameterwirddieser
  673. gesetzt.Eswirdnichtgeprüft,obdiePfadangabenkorrektsind.
  674. Bemerkung:DerSuchpfadisteineEnvironment-Variable,kannalsoauchmit
  675. SETmanipuliertwerden,z.B.
  676. SET%path%;pfad3
  677. hängt<pfad3>andenSuchpfadan
  678.  
  679. ê1.22PAUSEÇ
  680.  
  681. Syntax:PAUSE
  682. PAUSEstring1string2...
  683. Zweck:UnterbrechungundVerzweigunginBatch-Datei
  684. PAUSEschreibtden<string>nach"CON:",nichtnachstdout;ebensowird
  685. IMMERvon"CON:"(Tastatur)gelesen,ohneRücksichtaufdieStandardein
  686. gabe-Umlenkung.
  687. Wirdkein<string>angegeben,gibtPAUSEdieMeldung"Tastedrücken"aus.
  688. DerAscii-CodederbetätigtenTastewirdnach"errorlevel"geschrieben.
  689. MitHilfedesIFERRORLEVEL-Befehlskanndannabhängigvonder
  690. betätigtenTasteimBatchprogrammverzweigtwerden.
  691.  
  692. πê1.23PROMPTÇ
  693.  
  694. Syntax:PROMPT
  695. PROMPTzeichenkette
  696. Zweck:Promptzeichenändern
  697. PROMPTohneParametersetztdasDefault-Prompt("$n$g"),mitParameter
  698. könnenau₧erdennormalenZeichenauchdiebeiMS-DOSüblichenSonderzei
  699. chenverwendetwerden,z.B."$p$g"fürdiekomplettePfadangabeals
  700. Promptoderauch"$ej$eH$eK$t$ek$n$g":
  701.  
  702. $$DasDollarzeichen'$'selbst
  703. $_NeueZeile(CR,LF)
  704. $bDasZeichen'|'
  705. $dDatum
  706. $eDasZeichenESC(1BH)
  707. $g    DasZeichen'>'
  708. $hBackspace
  709. $lDasZeichen'<'
  710. $naktuellesLaufwerk
  711. $pkompletteraktuellerPfadmitLaufwerk
  712. $qDasZeichen'='
  713. $tZeit
  714.  
  715. Bemerkung:DasPromptisteineEnvironment-Variable,kannalsoauchmit
  716. SETmanipuliertwerden.
  717. DasbeiMS-DOSvorhandenePromptzeichen"$v"fürdieDOS-
  718. VersionfehltbeiCMD.AlsErsatzsiehedasinterneKommando
  719. "ver".
  720. ê
  721. "1.24RDÇ
  722.  
  723. Syntax:RDordnername
  724. Zweck:Verzeichnislöschen
  725. RD(removedirectory)kannnurleere(!)Verzeichnisselöschen.
  726. Au₧erbeiKAOSbewirktdasLöschendesaktuellen(leeren)Verzeichnisses
  727. BombenoderSchlimmeres.éBeiKAOSgibtesnurein"Zugriffunmöglich".ÇMan
  728. beachte,da₧auchdieaktuellenVerzeichnissedesDesktopgeschütztwerden
  729. müssenundnichtgelöschtwerdensollten.KAOStutdiesvonsichaus;
  730. daherkannesvorkommen,da₧sichOrdneraus"unerfindlichen"Gründen
  731. nichtlöschenlassen.IndiesemFallgenügteinFREE(s.o.),umdas
  732. LaufwerkauchfürDESKTOPabzumelden;dannlassensichalleOrdner
  733. löschen.
  734. Bemerkung:AufgrundeinesdervielenTOS-Fehlerkannesvorkommen,da₧
  735. eingeradeerstelltesVerzeichnisnichtgelöschtwerdenkann.
  736. Abhilfe:IBMkaufen,KAOSbenutzenodereinfachUNDO,RETURN
  737. drücken.
  738.  
  739.  ê1.25RENÇ
  740.  
  741. Syntax:RENalter_pfadnameneuer_dateiname
  742. Zweck:EineDateiodereinenOrdnerumbenennen
  743. DerBefehlRENentsprichtvölligseinemPendentinCOMMAND.COM.Der
  744. Parameter<alter_pfadname>enthältPfadundNamenderumzubenennenden
  745. Datei,derParameter<neuer_dateiname>enthältdenneuenNamenüohnePfadÇ.
  746. MitdiesemBefehlkanneineDateiimselbenVerzeichnisumbenannt,also
  747. nichtverschobenwerden(sieheMV).Au₧erdemwirdimmernurüeineÇDatei
  748. behandelt,dieParameterdürfenbeidekeineWildcards('?','*')enthalten.
  749. üAbTOS1.4könnenmitdiesemBefehlauchOrdnerumbenanntwerden.ÇDazu
  750. wirdderOrdnerwieeineDateiohneabschlie₧endes'\'spezifiziert.
  751. 1.Beispiel:
  752.   renc:\compiler\turbo\tc.prgtc.ttp
  753. istäquivalentzu
  754.   mvc:\compiler\turbo\tc.prgc:\compiler\turbo\tc.ttp
  755. 2.Beispiel(abTOS1.4):
  756.   renfolderordner
  757. BenenntüdenOrdnerÇ"folder"in"ordner"um.EinäquivalenterMV-Befehl
  758. istnichtmöglich,dadieserüalleDateienausdemOrdnerÇ"folder"zu
  759. verschiebenversuchte.DasVerschiebenvonOrdnernistauchunterTOS1.4
  760. nichtmöglich,soda₧derMV-BefehlbeimBehandelnvonOrdnernüberhaupt
  761. nichtverwendetwird.
  762.  
  763. °ê1.26SHIFTÇ
  764.  
  765. Syntax:SHIFT
  766. Zweck:DieParameterderBatchdateiverschieben
  767. SHIFTschiebtdenParameter%1nach%0,%2nach%1usw.;sokönnenauch
  768. mehrals10ParameterverwendetwerdenoderineinerFOR-Schleifeeine
  769. AktionfüralleParameterausgeführtwerden.
  770.  
  771. ê1.27SETÇ
  772.  
  773. Syntax:SET
  774. SETsymbol=
  775. SETsymbol=wert
  776. Zweck:Environmentmanipulieren
  777. OhneParameterwirddasEnvironmentausgegeben.Mit"SETsymbol="wirddie
  778. Environment-Variable<symbol>gelöscht,mit"SETsymbol=wert"aufeinen
  779. neuenWertgesetzt.
  780. SollderWertLeerstellenenthalten,setzeman"symbol=wert"inAnfüh
  781. rungszeichen.
  782. Bemerkung:DasEnvironmentistetwa1kBgro₧,alsoi.a.ausreichend.
  783.  
  784. ê1.28SORTÇ
  785.  
  786. Syntax:SORT[-C][-R][-n]
  787. Zweck:Textdateisortieren
  788. ^ZinderDateiwirdalsDateiendeerkannt.
  789. SORTisteinFilter.Mit-CwirdGro₧-/Kleinschreibungunterschieden.Mit
  790. -Rwirdumgekehrtsortiert.-nenthältdiePositiondesSchlüssels;z.B.
  791. vergleichtSORT-4dieZeilenerstabderviertenSpalte.
  792. EskönnennurDateiensortiertwerden,dieganzindenSpeicherpassen.
  793.  
  794. ê1.29TIMEÇ
  795.  
  796. (sieheDATE)
  797. WieDATE,nurmitZeitstattDatum.
  798.  
  799. ê1.30TOUCH
  800. Ç
  801. Syntax:TOUCHdatei1datei2...
  802. Zweck:DatumundUhrzeitderDateiaufaktuellesDatum/Uhrzeitsetzen,als
  803. obsiegeändertwordenwäre.DasArchivbit(abTOS1.4unterstützt)wird
  804. nichtbeeinflu₧t.
  805. Als<datei>kannmanaucheinenPfadangeben,etwa"TOUCH\",dannwerden
  806. alleDateienaufdemWurzellaufwerkinUhrzeitundDatumaktualisiert.
  807. SinnvollistdieAnwendungfüreinMAKE,dasmansozwingenkann,
  808. Quelltexteneuzuübersetzen,dasichjetzteinneueresDatumhabenals
  809. diebereitserzeugtenObjektdateien,oderfürdenFall,da₧manDateien
  810. mitdemnichtssagendenDatum6.2.86hat.
  811.  
  812. ê1.31TREEÇ
  813.  
  814. (sieheCK)
  815. WieCK,eswerdenjedochnurdiezulässigenPfadedesLaufwerks
  816. ausgegeben.
  817.  
  818. ê1.32TYPEÇ
  819.  
  820. Syntax:TYPEdatei1datei2...
  821. Zweck:Datei(en)anzeigen
  822. TYPEkannbeliebigvieleArgumentehaben.Ist<datei>einDateimusteroder
  823. einPfad,werdenallepassendenDateienangezeigt.DieDateinamenerschei
  824. nennuraufdemBildschirmundwerdennichtnachstdoutgeschrieben.Im
  825. Gegensatzzu"MORE"wirddasZeichen^Znichtausgewertet,damitdie
  826. VerkettungvonDateienauchbeisolchenDateienfunktioniert,diedieses
  827. Zeichenenthalten.
  828. Bemerkung:TYPEwirktwieCATinUNIX.Mit"TYPEdatei1datei2>datei3"
  829. kannmanDateienverketten.Dabeibekommt<datei3>,im
  830. GegensatzzumCOPY-Befehl,dasaktuelleDatum.
  831.  
  832. Σê1.33VERÇ
  833.  
  834. Syntax:VER
  835. Zweck:TOS/KAOS-Version,GEMDOS-VersionundCMD-Versionanzeigen.
  836. DieGEMDOS-VersionhatnichtunbedingtetwasmitderTOS-Versionzutun.
  837. HiereineAufstellungderbisherbekannten(deutschen!)Versionenfürden
  838. ST(ohnediefürSTEoderTT):
  839.  
  840. TOS1.020/06/85,GEMDOS0.13Diskversion(uralt)
  841. TOS1.020/11/85,GEMDOS0.19Diskversion(erste"endgültige")
  842. TOS1.006/02/86,GEMDOS0.19Diskversion
  843. ROMs("Rom-TOS")
  844. TOS1.006/02/86,GEMDOS0.20ditomitTurbo-DOS
  845. TOS1.222/04/87,GEMDOS0.19ROMs("BlitterTOS")
  846. KAOS1.222/04/87, GEMDOS0.20KAOS(VorversionvomNovember'87)
  847. KAOS1.222/04/87,GEMDOS0.21KAOS1.2.3(vomJuli'88)
  848. TOS1.418/05/88,GEMDOS0.21Diskversion1.4(BetaVersion)
  849. TOS1.408/08/88,GEMDOS0.21Diskversion1.4(DeveloperVersion)
  850. TOS  1.422/02/89,GEMDOS0.21     ROMs1.4       (Messe-Version)
  851. TOS  1.406/04/89,GEMDOS0.21     ROMs("Rainbow"TOS1.4)
  852. KAOS1.406/04/89,GEMDOS0.22     KAOS1.4.x
  853.  
  854.  
  855. KCMD.ACCgibthierauchdieAES-Versionsnummeraus,diejedochvon
  856. geringeremInteresseist.TOS1.0/1.2gebenhier$120an(wirddezimalals
  857. V1.32angezeigt),TOS1.4gibt$140an(wirdalsV1.64angezeigt)undKAOS
  858. 1.4$141(alsoV1.65).GEM2.2vonABChatVersionsnummer$210(alsV2.16
  859. angezeigt).
  860.  
  861.  ê1.34VERIFYÇ
  862.  
  863. Syntax:VERIFY
  864. VERIFYON
  865. VERIFYOFF
  866. Zweck:Read/Write-Verify-FlagdesBIOSanzeigen/ändern
  867. BeimEinschaltendesRechnersistdasVERIFY-Flag(imGegensatzzuMS-
  868. DOS)immereingeschaltet.WennmanmitDiskettearbeitet,kannmandie
  869. Schreibzugriffedurch"VERIFYOFF"starkbeschleunigen.Dafürwird
  870. besondersbeibilligenDiskettendasRisikoetwashöher,da₧Schreibfehler
  871. nichterkanntwerden.
  872. DasVerify-FlaghatnormalerweisenurAuswirkungenaufdieLaufwerkeA:
  873. undB:,esseidenn,einanderesTreiberprogramm(Festplatte)fragtdiese
  874. Systemvariableebenfallsab.
  875.  
  876.  
  877. ê2.ExterneKommandosimBIN-OrdnerÇ
  878.  
  879. AufderDiskettebefindensichimOrdnerBINeinigeexterneKommandos.
  880. DamitmandieseohneAngabedesPfadnamensstartenkann,solltemandie
  881. PATH-Variableentsprechendsetzen.
  882. AlleKommandossindreineTOS-Programme,dieAusgabennachSTDOUTund
  883. FehlermeldungennachHandle4(STDERR)oderdirektnachCON:schreiben.
  884. SiegebenalsRückgabewertDOS-FehlercodesoderbeifehlerlosemLaufeine
  885. 0zurück.
  886. DieexternenKommandoshabenkeineVersionsnummer.NeuereVersionenlassen
  887. sichnuramDatumderProgrammdateierkennen.
  888. StartetmaneinexternesKommandoohneParameter,erhältmaninderRegel
  889. einekurzeErklärungdermöglichenParameter.
  890.  
  891. Φê2.1PRINTÇ
  892.  
  893. Syntax:PRINT{-[p][s][i][c][d]}datei1datei2...
  894. Zweck:Textdatei(en)aufEpson-kompatiblenDruckernausgeben
  895. -tnTabulatorweite<n>Stellen
  896. -pSeitenvorschubnachjederDatei
  897. -sSchmalerZeilenabstand(1/8")
  898. -iInitialisierungvorjederDatei
  899. -cSchmalschrift(Compressed)
  900. -dBreitschrift(DoubleWidth)
  901. DieTextdateiwirdausgedruckt,wobeiallenationalenSonderzeichen,
  902. soweitmöglich,inEpson-Zeichenübersetztwerden.EinigeZeichenwerden
  903. dafürneudefiniert.
  904. BeimAusdruckenhälteinebeliebigeTastedieAusgabean,CTRL-Cbricht
  905. denlaufendenDruckvorgangsofortab.WennkeinDruckereingeschaltetoder
  906. dieserOFF-LINEist,kannderDruckvorgangebenfallsabgebrochenwerden,
  907. ohneaufdieberühmt-berüchtigten30sec."Time-Out"zuwarten.
  908. PRINTsprichtdenDruckerüberdieStandarddateistdprnan.Durchdie
  909. KorrekturderEin-/Ausgabeumlenkungeinschlie₧lichderStatusabfragen
  910. (z.B.Cprnos())istesunterKAOSvölligproblemlosmöglich,dieAusgabe
  911. vonPRINTineineDateioderaufdenBildschirmzulenken,etwamit"PRINT
  912. datei3>datei.prt".FürandereTOS-Versionenwageichesnicht,
  913. Vorhersagenzutreffen...
  914.  
  915. 1ê2.2CRASHDMPÇ
  916.  
  917. Syntax:CRASHDMP
  918. Zweck:DatenderletztenException(Bomben)anzeigen
  919. DieArtderletztenException(z.B.Busfehler)sowiealleRegisterinhalte
  920. beiderenAuftretenwerdenlesbarnachstdoutgeschrieben.ImFallBus-
  921. oderAdre₧fehlerwerdendieoberstenEinträgedesSupervisorstacksbei
  922. AuftretenderExceptionebenfallsdekodiert.ManerhältInformationenwie
  923. etwa:"Adre₧fehlerbeiPC=xxx,SR=xxxundLesezugriffimUsermodeauf
  924. Adressexxx,verantwortlicherMaschinenbefehl:xxx".
  925. BesondershieristdieUmlenkungCRASHDMP>dateifürspätereVerwendung
  926. sinnvoll.
  927.  
  928. ê2.3EXE2BINÇ
  929.  
  930. Syntax:EXE2BIN dateimuster/pfad
  931. Zweck:ProgrammdateienineinSpezialformatumwandeln
  932. AufdieExtension.PRGund.TOSund.TTPkannverzichtetwerden,EXE2BIN
  933. ergänztsieautomatisch.BeiAngabevonPfadenoderDateimusternwerden
  934. allepassendenDateienbearbeitet.
  935. ProgrammeohneRelocation-Daten(also"positionindependent")könnenvom
  936. GEMDOSsehrvielschnelleralsnormaleProgrammegeladenwerden.Dabei
  937. werdenwederdasBSS-SegmentnochderübrigefreieSpeichergelöscht,
  938. bevordasProgrammgestartetwird.
  939. EXE2BINprüftnun,obdasProgramm"positionindependent"ist,undwandelt
  940. esdannineineArtCOM-Formatum.Manhatdabeiselbstdaraufzuachten,
  941. da₧sichdasProgrammnichtaufeingelöschtesBSS-Segmentverlä₧t.
  942. WirdEXE2BINunterKAOSgestartet,wirddieFshrink-Funktionbenutzt,um
  943. dienunnutzlosen(Null-)RelocationdatenvonderDateizuentfernenund
  944. diesesozukürzen.
  945. AbTOS1.4gibteseinsogenanntes"Fastload-Bit"imProgrammheader,das
  946. bewirkt,da₧nichtmehrdergesamtefreieSpeicher,sondernnurnochdas
  947. BSSgelöschtwird.EXE2BINfragtnunab,obdiesesBitbereitsgesetztist
  948. und,wennnicht,setztes.DabeibleibenDatumundUhrzeitderDatei
  949. expliziterhalten.
  950.  
  951. ê2.4LABELÇ
  952.  
  953. Syntax:LABELDisknameanzeigen
  954. LABELx:DisknamevonLaufwerkx:anzeigen
  955. LABELnameDiskbenamsen
  956. LABELx:nameDiskinLaufwerkx:benamsen
  957. Zweck:Diskettennamenanzeigen,setzenoderlöschen
  958. WirdalsneuerName"-"angegeben,wirdderDiskname,fallsvorhanden,
  959. einfachgelöscht.
  960. LABELfunktioniertbeiallenDiskettenarten,Harddisk,Ramdiskusw.und
  961. mitsämtlichenTOS-Versionen.
  962. LABELgibtGEMDOS-Fehlercodeszurück,fallsetwasnichtfunktionierthat.
  963.  
  964. φê2.5FCÇ
  965.  
  966. Syntax:FC[-s][datei1[datei2|pfad2]]
  967. Zweck:Dateienvergleichen(abAdresse<s>)
  968. DiebeidenDateienwerdenBytefürByteeingelesenundverglichen.Die
  969. UnterschiedewerdenalsHex-undAscii-Codesnachstdoutgeschrieben.
  970. SinddieDateilängenunterschiedlich,wirdabgebrochen.Ebensokannman
  971. dieAusgabeaufdenBildschirmmitCTRL-Cabbrechen.
  972. WirdFCohneParametergestartet,werdendieDateinamenvonSTDIN
  973. eingelesen.
  974. EndetderzweiteParameterauf':'oder'\',wirdangenommen,da₧essich
  975. umeinePfadangabehandelt.DerreineDateinamewirdvon<datei1>
  976. extrahiertundan<pfad2>angehängt.
  977. WirdnureinParameterangegeben,wirdalszweiterParameterdasaktuelle
  978. Verzeichnisangenommen.
  979. MitHilfedieserbeidenMöglichkeitenwirdesleicht,gleichnamigeDateien
  980. inverschiedenPfadenzuvergleichen.
  981. BeimehralszweiParameternwirddieSyntaxausgegeben.
  982.  
  983. ê2.6KILLRAMÇ
  984. 
  985. Syntax:KILLRAM
  986. Zweck:Ausschaltersimulieren;'N','n'undrechteMaustastebrechenab,
  987. alleanderenTastenunddielinkeMaustasteführenaus.Für
  988. TastatureingabenwirdauchderMIDI-Portabgefragt.
  989.  
  990. ê2.7ASTOWORD.TTPÇ
  991.  
  992. Syntax:ASTOWORDasciidatei
  993. Zweck:KonvertiertDateivonASCII->WORDPLUS
  994. DieAusgabedateihatdenselbenNamenwiedieEingabedatei,jedochmitder
  995. Extension".doc".ExistiertsolcheineDateischon,wirdsiegelöscht.
  996.  
  997. ê2.8WORDTOAS.TTPÇ
  998.  
  999. Syntax:WORDTOASdatei[.doc]
  1000. Zweck:KonvertiertDateivonWORDPLUS->ASCII
  1001. Enthält<datei>keineodereineandereExtensionals".doc",wirdals
  1002. Extension".doc"eingesetzt.
  1003. DieAusgabedateihatdenselbenNamenwiedieEingabedatei,jedochmitder
  1004. Extension".txt".ExistiertsolcheineDateischon,wirdsiegelöscht.
  1005.  
  1006. ê2.9DUMP.TTPÇ
  1007.  
  1008. Syntax: DUMP [-bci] [[-[s]hhhhhh[-hhhhhh]] datei]
  1009. Zweck:Hex-/Ascii/C-DumpvonallenDateien(auchCON:)
  1010. DasProgrammersetztdasgleichnamigeProgrammimEntwicklungspaketvon
  1011. Atari,istjedochkürzer(2kstatt10k)undgibtauchsolcheDateien
  1012. korrektaus,dienichteinVielfachesvon16BytesLängehaben.Au₧erdem
  1013. kanndieAusgabealsEingabefüreinenC-Compilerbenutztwerden.
  1014. DasZeichen"s"imSchalterzurAngabederStartadresse(Hex)kann
  1015. weggelassenwerden.
  1016. IstdieDatei"CON:",kanndieEingabemit^C,einerleerenZeile(nur
  1017. Return)odereinerZeileabgebrochenwerden,dienur^Zenthält.
  1018. DieSchalterb,c,isindfürdieAusgabealsC-Quelltext(Schalter"c")und
  1019. bedeuten"mitKommentar"("i"),"byteweise"("b").
  1020.  
  1021. #ê2.10SPLIT.TTPÇ
  1022.  
  1023. Syntax:SPLIT[-t][-[s]hhhhhh]datei[ziel1[ziel2]]
  1024. Zweck:(Text-)<datei>in<ziel1>und<ziel2>aufspalten
  1025. WennderSchalter-tangegebenwurde,wirddieDateiimmerhintereinem
  1026. Zeilenendeaufgespalten,dieserSchaltermu₧alsoimmerdannangegeben
  1027. werden,wennessichumeineTextdateihandelt.
  1028. WirdkeineAufspaltposition(-shhhhhh,hexadezimal)angegeben,wirddie
  1029. DateimöglichstinderMittezerlegt.
  1030. WerdendieParameter<ziel1>und<ziel2>nichtangegeben,sowirdder
  1031. ersteTeilvon<datei>ineineneueDatei__EINS__geschrieben.Wirdnur
  1032. <ziel1>angegeben,sowirdnurderersteTeilder<datei>nach<ziel1>
  1033. geschrieben,beiAngabevon<ziel2>derzweiteTeilnach<ziel2>.
  1034. WillmannurdenzweitenTeilderDateiabspalten,kannman<ziel1>unter
  1035. KAOSalsNULoderNUL:angeben.
  1036. Beispiel:SPLIT-1cCMD.PRGNULCMD.XXX
  1037. schreibtdieDateiCMD.PRGohnedieersten28BytesProgramm
  1038. headernachCMD.XXX
  1039.  
  1040.  
  1041. Ωê3.Stdout/Stdin-UmlenkungÇ
  1042.  
  1043. WieMS-DOSundUNIXhatauchGEMDOSsogenannteStandard-Dateienund
  1044. physikalischeDateien.
  1045. DieStandard-DateienhabendieHandle-Nummern0bis5,dabeisind:
  1046.  
  1047. 0"stdin",Standard-Eingabe(normalerweiseTastatur)
  1048. 1"stdout",Standard-Ausgabe(normalerweiseBildschirm)
  1049. 2"stdaux",Standard-Hilfsdatei(normalerweiseRS-232)
  1050. 3"stdprn",Standard-Druckdatei(normalerweiseCentronics)
  1051. 4  "stderr",unbenutzté            (beiKAOSundabTOS1.4:Bildschirm)Ç
  1052. 5"stdxtra"é Çunbenutzté             (beiKAOSundabTOS1.4:Bildschirm)Ç
  1053.  
  1054. AlleStandarddateien(0bis5)könnenmitderDOS-FunktionFforce()auf
  1055. jedebeliebigeDateioderjedesbeliebigeGerätumgelenktwerden.Die
  1056. "normalen"Dateiendagegen(Handles6bis75)könnennichtumgelenkt
  1057. werden.
  1058. WeitereInformation:sieheST4/87:"DieXENIX-StrukturdesGEMDOS".
  1059. DieUmlenkungistjedochnichtsoproblemlos,wieesdenAnscheinhat.
  1060. NebendertotalverkorkstenBehandlungderStandardpfadeliegenhierdie
  1061. schlimmstenFehlerdesGEMDOS(inFforce(),Fdup(),Fclose()).
  1062.  
  1063. ImGegensatzzuCOMMAND.COMunterMS-DOSkannCMDunterTOSsämtliche
  1064. 6StandarddateienaufderKommandozeileumlenken.Beideninternen
  1065. BefehlendesCMD(z.B.DIR >dirlist)funktioniertdieUmlenkungproblem
  1066. los.BeimAufrufvon(externen)Programmen(z.B.SID >list)konnteman
  1067. bisherauchbeimTOS1.2dieAusgabenichtumlenken,dadiegesamte
  1068. zeichenorientierteAusgabenichtfunktioniert.DieseFehlersindunter
  1069. KAOSvölligundabTOS1.4z.T.behoben.
  1070. UmlenkungenwerdeninfolgenderFormeingegeben:
  1071.  
  1072. >datei              Erstellt <datei>, lenkt STDOUT auf <datei>
  1073. >>datei             Hängt STDOUT an <datei> an.Erstelltggf.<datei>
  1074. <datei              Lenkt STDIN auf <datei>, falls diese existiert
  1075. pgm | .. | pgm      Pipe
  1076. n>datei        für0<=n<=5:Wieoben,abermitbel.Std.datei
  1077. n>>datei            für0<=n<=5:Wieoben,abermitbel.Std.datei
  1078.  
  1079.  DieAusgabedateiwirdbei'<'zumLesen,bei'>'und'>>'zumLesenund
  1080. Schreibengeöffnet.DieEingaben"pgm>out"und"pgm1>out"sind
  1081. äquivalent.DieHandles2..5könnennichtmit'<'umgelenktwerden;daher
  1082. werdensieimmerzumLesenundSchreibengeöffnetundggf.erstellt.Bei
  1083. derUmlenkungvonSTDAUX(mit"2>datei")wirdsowohldieEin-alsauchdie
  1084. AusgabeaufdieserielleSchnittstelleunterDOSumgelenkt.Essindalso
  1085. sowohldieBefehleCauxout(),Cauxos()alsauchCauxin()undCauxis()
  1086. betroffen.Esistimübrigennichtzuempfehlen,STDINaufdenDruckerzu
  1087. lenken,damanvondortnichtviellesenkann...
  1088. AucheinePipekannumgelenktwerden,z.B."DIR|SORT>dirlist".
  1089. AlsKommandoszwischendemerstenundletzten"|"derPipekommenin
  1090. ersterLinie"Filter"inFrage,alsosolcheProgramme,dievonstdinlesen
  1091. undnachstdoutschreiben.
  1092. FürdiePipeswerdennormalerweiseimWurzelverzeichnisdesaktuellen
  1093. LaufwerkstemporäreDateienmitNamen"\$$PIPE?.?"erstellt.Dahersoll
  1094. tensichkeineDateiendiesesNamensdortbefinden,undau₧erdemdarfdas
  1095. aktuelleLaufwerknichtschreibgeschütztsein.IsteineEnvironment-
  1096. VariableTMPDIRvorhanden,werdendietemporärenDateiendorterstellt
  1097. (inzwischenistderHerstellervonMS-DOSauchaufdenDrehgekommen,
  1098. Version5.0machtesgenauso,wieCMDesseitJahrentut).Beispielsweise
  1099. beiTMPDIR=c:\tmpoderTMPDIR=c:\tmp\hei₧endietemporärenDateiendann
  1100. c:\tmp\$$pipe?.?.DurchdiesespraktischeFeaturelä₧tsicherreichen,
  1101. da₧PipesimmeraufdemschnellstenSpeichermedium,alsoaufRamdiskoder
  1102. Festplatteangelegtwerden,auchwennmansichgerade"aufderDiskette
  1103. befindet".
  1104.  
  1105. φÇEinAnwendungsbeispielfürdasUmlenkeneineranderenStandarddatei:
  1106. "PRINTdrucktext3>out"
  1107. RuftdasProgramm"PRINT"(s.u.)aufmitumgelenkterSTDPRN-Datei.Die
  1108. DateidrucktextwirdjetztnichtdirektaufdenDruckergeschrieben,
  1109. sonderneinschlie₧lichallerSteuerzeichenindieDatei"out".Ebenso
  1110. könntemanmit:
  1111. "PRINTdrucktext3>con"
  1112. denfürEpson-DruckerübersetztenTextaufdenBildschirmschreiben.So
  1113. lassensichguteigeneoderfremdeProgrammetesten,dieeineAusgabeauf
  1114. denDruckermachen.DasResultatlä₧tsichhinterherexaktmitDUMP
  1115. analysieren.
  1116. Ichempfehle,eigeneProgrammesozuschreiben,da₧derStandardkanal4
  1117. fürdieFehlerausgabe(STDERR)verwendetwird.
  1118. Mit:
  1119. "PGM4>prn"
  1120. könntemandannz.B.alleFehlermeldungenaufdenDruckerlenken.Manmu₧
  1121. allerdingsvorherprüfen,obderStandardkanal4gültigist(etwamit
  1122. Fdup),diesistfürTOS-Versionenvor1.4notwendig,KAOSbereitetauch
  1123. inderVersion1.2.3keineProbleme.
  1124.  
  1125.  
  1126. %ê4.Geräte(Devices)Ç
  1127.  
  1128. TOSkennt3Geräte,diewienormaleDateienbehandeltwerden,z.B.kann
  1129. dieStandard-AusgabeaufdenDruckergelenktwerden:
  1130.  
  1131. 1)CON:Bildschirm/Tastatur
  1132. 2)AUX:RS-232
  1133. 3)PRN:Drucker
  1134.  
  1135. Mit"TYPEdatei>AUX:"kannmanz.B.einfachDatenüberdieserielle
  1136. Schittstelleschicken.
  1137. ImGegensatzzuMS-DOSfehlterstensdasGerät"NUL:",zweitenskönnendie
  1138. DoppelpunkteünichtÇweggelassenwerden.
  1139. é
  1140. UnterKAOSgilt:
  1141. 1)EsgibtdasGerätNUL:
  1142. 2)Auch"con","a:\Con"oder"con.c"usw.werdenalsGeräteerkannt,dies
  1143. wegenderbehauptetenKompatibilitätzuMS-DOS.
  1144. 3)DasErstellenvonOrdnernmitGerätenamensowiedasUmbenenneninein
  1145. GerätwirdvonKAOSabgewiesen.
  1146. Ç
  1147.  
  1148. (ê5.Kommandozeilen-AuswertungÇ
  1149.  
  1150. VorAusführungjederKommandozeile(obvonTastaturoderBatch-Datei)
  1151. werdenParametervoneinandergetrennt,evtl.Datei-Umlenkungenvorgenom
  1152. menundEnvironment-Variableausgewertet.DasTrennzeichenistimmerdie
  1153. Leerstelle,währendunterMS-DOSauchdasKommazugelassenist.Mit
  1154. SetzeninAnführungszeichenwirddieAuswertungverhindert.EineZeichen
  1155. ketteinAnführungszeichenistimmereinganzerParameter,egal,obdavor
  1156. oderdahinteroderdazwischenLeerzeichenoderandereSonderzeichen
  1157. ('>','<','|','%')stehenodernicht.DieAuswertungvonVariablenwie%1
  1158. oder%path%oderSteuerzeichenwie%\n%kanndurchEinklammerungin
  1159. Hochkommataverhindertwerden.
  1160.  
  1161. "......"          ...istEINParameter, kann ' oder SPACE enthalten.
  1162. '......'          Wertet ... nicht aus, kann " oder SPACE enthalten.
  1163. %var%             Gibt Wert von var (mitSETgesetzt)an, falls vorhanden.
  1164. %%                Das '%'- Zeichen selbst
  1165. %\n%Zeilenvorschub(LineFeed)
  1166. %\r%Wagenrücklauf(CarriageReturn)
  1167. %\b%Rückschritt(Backspace)
  1168. %\t%      Tabulator
  1169.  
  1170. Beispiel:SET"f1=dir-q%\n%"belegteineFunktionstaste.BeimBetätigen
  1171. wirdderBefehlautomatischausgeführt.
  1172. ImGegensatzzuUNIXwerdenEnvironment-Variablein'%'eingeklammert,um
  1173. dasEndedesVariablennamensdeutlichzumarkieren;Ausdrückewie
  1174. "$(pfad)/datei"(UNIX)sinddahernichtnotwendig,manschreibteinfach
  1175. "%pfad%\datei".
  1176. Bemerkung:MS-DOSkenntwederdieeinfachenAnführungszeichen',umdie
  1177. doppeltenAnführungszeichen"innerhalbeinesParameterseinge
  1178. benzukönnen,nochdieMöglichkeit,Environment-Variablemit
  1179. Hilfedes%-ZeichensinnerhalbderEingabezeileeinzusetzen.
  1180.  
  1181.  
  1182. ┌ê6.Editor-SteuertastenÇ
  1183.  
  1184. WegendervielenFehlerdesSystemaufrufsCconrs()(falscheBehandlungvon
  1185. Umlauten,falscheReaktionbeiÜberlaufdesEingabepuffers,Fehlerbei
  1186. EingabenübereinZeilenendehinaus)enthältCMDeineeigeneRoutinezur
  1187. EingabeeinerZeile.SiewirdbenutztbeiderEingabeeinesKommandos,bei
  1188. DATEundTIME.Davonstdingelesenwird,kanndieEingabeauchumgelenkt
  1189. werden.
  1190. Dergrö₧teVorteildereigenenEingaberoutineistdieMöglichkeit,die
  1191. Funktionstastenfreizudefinieren.DieBelegungdieserTastenstehtim
  1192. Environment,wirdalsomitdemSET-Befehlvorgenommen.EinBeispiel:
  1193.   SET"f1=edit"
  1194. belegtdieFunktionstasteF1mitderZeichenkette"edit".Wennwiehier
  1195. dieZeichenketteLeerstellenenthält,mu₧derParameterdesSET-Kommandos
  1196. inAnführungszeichengesetztwerden.FürdieTasteF10mu₧F0geschrieben
  1197. werden.SinnigerweisesolltendieFunktionstasten-Belegungenzusammenmit
  1198. derPATH-DefinitioninderAUTOEXEC.BAT-Dateistehen.
  1199. FolgendeSondertastenwerdenbenutzt:
  1200.  
  1201. F1..F10             JenachBelegung
  1202. TAB                 Cursor an Anfang/Ende der Eingabe
  1203. BS                  Zeichen links von Cursor löschen
  1204. DEL                 Zeichen unter Cursor löschen
  1205. RETURN        Eingabe abschlie₧en,BefehlinUNDO-Puffer
  1206. ENTER        Eingabe abschlie₧en
  1207. INSERT              Einfüge- /Überschreibmodus wechseln
  1208. CLR                 Eingabe löschen
  1209. UNDO                letzte Eingabe aufrufen
  1210. Cursor L/R          Cursor bewegen
  1211.  
  1212. éUnterKAOSgilt:
  1213. EswirdeinfachderCconrs-Aufruf(bzw.Fread(STDIN,...)benutzt.KAOS
  1214. enthältkomplettdenobenbeschriebenenEditor,derdamitjedemProgramm
  1215. zugänglichist.DamitsindunterjedemProgramm,dasvonKCMDgestartet
  1216. wurde,dieFunktionstastenbelegt(z.B.SID,PROBE,PASCAL-Programmemit
  1217. readln(),FORTRAN-ProgrammemitREAD(*,*)usw.).
  1218. InKAOS1.4istderZeileneditornocheinmalverbessertunderweitert
  1219. worden,siehedortigeDokumentation!
  1220. Ç
  1221.  
  1222. ╓ê7.StartenvonProgrammen(ExterneKommandos)Ç
  1223.  
  1224. DieProgrammeaufderDiskette/HarddiskwerdenalsexterneKommandos
  1225. bezeichnet.Insbesonderegiltdasfürsolche,diedieKommandozeile
  1226. auswerten(i.a.alleTTPs).BeiderUmlenkungderStandardein-bzw.
  1227. Ausgabeistdaraufzuachten,da₧einigeLaufzeitsystemevonCompiler
  1228. sprachenvonsichausdieKommandozeilenachEinträgenwie">datei"
  1229. absuchenunddieAusgabeselbstumlenken.WillmandieseUmlenkung
  1230. benutzen,mu₧mandenAusdruck">datei"inAnführungszeichensetzen,um
  1231. dieAuswertungdurchCMDzuverhindern.
  1232. AndasaufrufendeProgrammwirdau₧erderKommandozeileaucheineKopie
  1233. des(durchSETanzeigbaren)Environmentsübergeben.DasProgrammkannso
  1234. alleEinträgedesEnvironmentsverwenden,ohnesiejedochzuändern(z.B.
  1235. diePATH-VariableoderdieFunktionstasten-Definitionen).Ameinfachsten
  1236. zeigtsichdieserEffekt,wennmanvonCMDauseinfachnocheinmal"CMD"
  1237. eingibt.
  1238. NützlichistdieEinrichtungderPATH-Variablen,dieesermöglicht,
  1239. externeKommandosaufzurufen,diesichnichtimaktuellenVerzeichnis
  1240. befinden,ohnelangePfadangabenzumachen.Beispiel:
  1241. SeiPATH=p1;p2;gesetztundalsKommando"edit"eingegeben.Kommandos
  1242. werdeninfolgenderReihenfolgegesucht:
  1243.  
  1244. -InternesKommando"edit"
  1245. -Batchdatei"edit.bat","edit.btp"
  1246. -TOS-Programm"edit.ttp",    "edit.tos"
  1247. -GEM-Programm"edit.prg",    "edit.app"
  1248. -Batchdatei"p1\edit.bat""p1\edit.btp"
  1249. -TOS-Programm"p1\edit.ttp", "p1\edit.tos"
  1250. -GEM-Programm"p1\edit.prg", "p1\edit.app"
  1251. -Batchdatei"p2\edit.bat","p2\edit.btp"
  1252. -TOS-Programm"p2\edit.ttp", "p2\edit.tos"
  1253. -GEM-Programm"p2\edit.prg", "p2\edit.app"
  1254.  
  1255. MankanndenDateitypauchexplizitangeben(z.B."edit.prg"),wennman
  1256. verhindernwill,da₧einegleichnamigeBatchdateio.ä.aufgerufenwird.
  1257. DerDateityp.ACCwirdnichtautomatischgesucht,wennkeineExtension
  1258. eingegebenwurde,kannaberexplizitetwamit"C:\KAOSCONF.ACC"gestartet
  1259. werden.ProgrammemitExtension.ACCwerdenwieProgrammemitExtension
  1260. .PRGoder.APPimGrafikmodusgestartet.
  1261. GibtmaneinenexplizitenPfadan,z.B."a:edit",wirddiePATH-Variable
  1262. nichtverwendetundnurimangegebenenDirectorygesucht.
  1263. äAchtung:BeimBetriebalsAccessorywerdenKommandos,dieauf.PRGoder
  1264. .APPenden,nichtautomatischgesuchtunddahernichtgefunden,wennman
  1265. keineExtensioneingibt.DiesistalsVorsichtsma₧nahmenötig,daGEMes
  1266. nichtschafft,mehrereApplikationengleichzeitigzuverwalten.Startet
  1267. manetwaWORDPLUSvonWORDPLUSaus,gibtesBombenterror.Eigentlich
  1268. könntejaAESdiesen(häufigauftretenden)Fallabfangen,aberleider...
  1269. WillmantrotzallerWarnungeneinProgrammmitEndung.PRGstarten,mu₧
  1270. mandieExtensionmiteingeben.
  1271. ÇGEM-ProgrammewerdenmitMauszeigerundohneCursorgestartet.Der
  1272. etv_critic-HandlerdesDESKTOPwirdinstalliert(Diskettenfehlerper
  1273. Alertboxanzeigen).DerBildschirmwirdbeiAufrufdesProgrammsnicht
  1274. gelöscht.MankanndiesabervorherdurchCLStun.
  1275. TOS-ProgrammeoderBatch-DateienwerdenmitCursorundohneMauszeiger
  1276. gestartet.Deretv_critic-HandlerdesCMDbleibtinstalliert.
  1277. AnsonstenbestehtkeinUnterschiedzwischendemAufrufvonGEM-undTOS-
  1278. Programmen.SelbstverständlichkönnenParameteranGEM-Programme
  1279. übergebenwerden.Obdieseauchausgewertetwerden,isteineandere
  1280. Frage...DieDateiartenBAT/BTPundTOS/TTPundPRG/APPsindfürCMD
  1281. jeweilsäquvalent.DerDateitypBTPexistiertfürdiespeziellenFreunde
  1282. vonNeodesk.
  1283. NachdemAufrufjedesProgrammeswirddessenRückgabewertuntersucht.Ist
  1284. ernegativ,wirderalsDOS-oderBIOS-Fehlercodeinterpretiertundim
  1285. Klartextausgegeben.BeimDesigneneigenerProgrammekannmanbeispiels
  1286. weisesokodieren:
  1287.  
  1288.      if   (0>(handle=Fopen("program.hlp",O_RDONLY)))
  1289.         exit(handle);       /*MitDOS-Fehlercodebeenden*/
  1290.  
  1291. oder:
  1292.  
  1293.      if   (NULL==(ptr=(char*)Malloc(10240L)))
  1294.           Pterm((int)ENSMEM);
  1295.  
  1296. statt:
  1297.      if   (...)
  1298.           {
  1299.           fprintf(stderr,"NichtgenügendSpeicher!\n");
  1300. Ç          exit(1);
  1301.           }
  1302.  
  1303. DasspartnichtnurTipparbeit,sonderngrenztdenFehler(unterKAOS,
  1304. dennTOSlieferthäufigfalscheCodes)häufigauchnochbesserein,z.B.
  1305. imoberenFall:
  1306.   "Dateinichtgefunden"
  1307.   "Pfadnichtgefunden"
  1308. "UngültigesLaufwerk"
  1309.   "InternerFehler"
  1310.   "Nichtgenügend(interner)Speicher"
  1311.   "NichtgenügendDateihandles"
  1312.   "Spurnichtgefunden"
  1313.   "CRC-Fehler"
  1314.   "Sektornichtgefunden"
  1315.   "Laufwerknichtbereit"
  1316.  
  1317.  
  1318. ,ê8.Batch-DateienÇ
  1319.  
  1320. DasKonzeptderBatch-DateientsprichtimwesentlichendemimMS-DOS.
  1321. Batch-BefehlesindGOTO,SHIFT,IF,END,FOR,PAUSE.
  1322. DasLabelfürGOTOsiehtsoaus:":label".EsstehtamZeilenanfangeiner
  1323. ZeilederBatchdatei.StehtdahintereinLeerzeichen,sowirdallesrechts
  1324. vondemLeerzeichenstehendeignoriert.Mit":Kommentar"kannmansoeine
  1325. Batchdateikommentieren,einBefehlREMdesMS-DOSwirdbeiCMDnicht
  1326. benötigt.
  1327. DasECHO-FlagwirktbeiCMDnuraufdieAusführungvonBatchdateien.Es
  1328. istnormalerweise(andersalsbeiMS-DOS)ausgeschaltetundbrauchtnur
  1329. mitECHOONeingeschaltetzuwerden,wennmaneinekomplizierteBatchdatei
  1330. verfolgenmöchte.
  1331. Batchdateienkönnenverschachteltwerden,dieneueBatchdateierhältauch
  1332. neueParameter.Biszu3Ebenensindmöglich.
  1333. EineBatchdateikannmitCTRL-Cabgebrochenwerden.NachjederAusführung
  1334. einerKommandozeileprüftCMD,obCTRL-CimTastaturpuffersteht.In
  1335. diesemFallwirddergesamteBatchproze₧sofortunterbrochen,alsoauch
  1336. beiVerschachtelungderBatchdateiensofortdienächsteKommandozeilevon
  1337. derTastaturerwartet.
  1338. EnthältdasKommandozumAufrufeinerBatchdateieineEin-/Ausgabeum
  1339. lenkung(fürirgendeinenodermehrereder6Standard-Kanäle),sogilt(im
  1340. GegensatzzuMS-DOS)dieUmlenkungfürdieganzeBatchdatei.Soll
  1341. innerhalbderBatchdateieineAusgabeunbedingtaufdenBildschirm
  1342. ausgegebenwerden,kannmanz.B.schreiben:
  1343. "ECHOstring>CON:"
  1344. DiefolgendenZeilenderBatchdateiverwendenwiederdenfürdieganze
  1345. BatchdateigültigenAusgabekanal.
  1346.  
  1347.  
  1348. ê9.CMDalsAccessory.AllgemeinesundspeziellesÇ
  1349.  
  1350. CMDisteinProgramm,da₧,einmalgestartetoderaktiviert,völligaufGEM
  1351. verzichtet.EsistinseinerFunktionvölligvonDOSabhängig.
  1352. EinAccessoryläuftbeiGEMuntereinereigenen"Applikation",aberunter
  1353. demselben"Proze₧"wiedasgeradelaufendeHauptprogramm.Dashei₧t,da₧
  1354. essichfürAESumzweiverschiedeneApplikationen,fürDOSaberum
  1355. denselbenProze₧handelt.Geradeletzteresführtzuziemlichen
  1356. Schwierigkeiten,daKCMD.ACCfürDOSkeineigenständigesProgrammist.
  1357. DOSmerktsichbeidenfolgendenResourcen,welchemProze₧sieangehören:
  1358. 1)   geöffneteDateien
  1359. 2)Speicherblöcke(perMallocgeholt)
  1360. 3)Standardpfade
  1361. 4)Standardlaufwerk
  1362. 5)Standarddateien.
  1363. AnhanddesPD(Proze₧Deskriptor)wähltDOSzumBeispieldas
  1364. Standardlaufwerkaus,sowieetwaVDIanhanddesGerätehandlesdiegerade
  1365. eingestellteFüllfarbeverwendet.EinAccessory,dasetwadas
  1366. StandardlaufwerkodereinenPfadändert,würdedasHauptprogramm
  1367. beeinflussenundggf.inSchwierigkeitenbringen.Andererseitsmü₧tenbei
  1368. jederAktivierungdesAccessoriesdiePfadeundStandarddateienvom
  1369. Hauptprogrammwiederübernommenwerden.
  1370. DieAntwortaufdieLösungalldieserProblemeisteinfach,die
  1371. Realisierungschonschwieriger:
  1372. Manmü₧teKCMD.ACCalsEIGENENProze₧laufenlassen.
  1373. WieteiltmanAESeineneueApplikationmit:appl_init()
  1374. WieidentifiziertAESeineApplikation:durcheineap_id("Handle")
  1375. WielöschtmandieseApplikationwieder:appl_exit()
  1376. WieteiltmanVDIeineneue"Workstation"mit:v_opnvwk()
  1377. WieidentifiziertVDIeine"Workstation":durcheinHandle
  1378. ÇWielöschtmaneinesolchewieder:v_clsvwk()
  1379.  
  1380. WieerzeugtmaneinenneuenProze₧:durchPexec()
  1381. WieidentifiziertDOSeinenProze₧:durchdenPD(Basepage)
  1382. WielöschtmaneinenProze₧:mitPterm()oderPtermres()
  1383.  
  1384. LeiderverwaltetdasaltmodischeGEMDOSkeine"Proze₧handles",diesich
  1385. wieinmodernerenBetriebssystemenerzeugenundwiederlöschenlassen.
  1386. Wasbleibtalso:Pexec()erzeugteinenneuenProze₧.DerModus0kommt
  1387. nichtinFrage,erlädteineProgrammdatei,dasmöchtenwirvermeiden.Die
  1388. Modi5(Basepageanlegen)unddann4(starten)könntenvielleicht
  1389. funktionieren.
  1390. WaspassiertabermitunseremProze₧,wennerper"exit"verlassenwurde
  1391. unddieHauptapplikationwiederzumZugkommensoll?Nehmenwiretwaan,
  1392. wirhabenfürLaufwerkA:denStandardpfad"\texte",unddieDiskwird
  1393. gewechselt,währenddasAccessorynichtaktivist.Wieistesumgekehrt,
  1394. wenndieHauptapplikationdenPfad"a:\meinetexte"hat,undwirmüssendie
  1395. Diskwechseln,währendKCMD.ACCaktivist.
  1396. DieAntwortaufalledieseFragenist:Durcheinander
  1397. Esseidenn,manverwendetKAOS:
  1398. KAOSbehandeltbeiDiskwechselnnichtnurdenlaufendenProze₧,sondern
  1399. auchalleVorgänger(überp_parentverkettet).Nursoistsichergestellt,
  1400. da₧auchdie"schlafenden"Prozessenicht"abgehängt"werdenundalle
  1401. Diskwechselmitbekommenüber:
  1402. 1)UngültigmachendesaktuellenPfades(zurückzurRoot)
  1403. 2)UngültigmachenallerStandarddateien,dieaufderaltenDiskliegen
  1404. AlsoläuftKCMD.ACCohnegrö₧ereÜberraschungennurunterKAOS.Die
  1405. UmschaltungderProzessegeschiehtganzproblemlosüberdieabTOS1.2
  1406. dokumentierteSystemvariable_run,dieimTOS-Headerenthaltenist.
  1407. DieseMethodeisteinfacheralsdasErzeugeneinerBasepageo.ä.
  1408. WirdKCMD.ACCvorAktivierendesDesktopzurInitialisierunggestartet,
  1409. passiertfolgendes:
  1410. DieBasepagevonKCMD.ACC(diebisherfürGEMDOSunbekanntist),wirdals
  1411. Proze₧unterdenUr-PDeingehängt(dasGro₧elterdesDesktop).Sokann
  1412. KCMD.ACCalleDiskwechselmitbekommen,solangeesschläft.Anschlie₧end
  1413. wirdeinfachindenevent-multigesprungen.
  1414. WirdKCMD.ACCnunaktiviert,tutsichfolgendes:
  1415. KCMD.ACChängtseineBasepageausderKettederProzesseausund
  1416. installiertwiederNULLalsUr-Gro₧elterdesDesktop.Anschlie₧endhängt
  1417. sichKCMD.ACCüberdielaufendeApplikation.FürGEMDOSsiehtesjetzt
  1418. alsosoaus,da₧KCMD.ACCvonderHauptapplikationüberPexec()gestartet
  1419. wurde.Schlie₧lichwirddieVariable_runaufKCMD.ACCgeleitet,alsofür
  1420. GEMDOSderneueProze₧gestartet.
  1421. BeiderEingabevon"exit"wirdwieder_runaufdielaufendeHaupt-
  1422. ApplikationgelegtundKCMD.ACCalsUr-Gro₧elterdesDesktopinstalliert.
  1423.  
  1424. DurchdieseVorgehensweisewirderreicht,da₧sowohlAESalsauchGEMDOS
  1425. dasAccessoryalseigenständigeApplikationbzw.Proze₧ansehenundeszu
  1426. keinen"Besitzstreitigkeiten"oder"Kompetenzproblemen"kommt.
  1427.  
  1428.  
  1429. Gro₧eProblemebereitetdasStartenvonProgrammenvonAccessoriesaus.
  1430. DieErfahrungmitverschiedenenAccessories(STOOLS,Schröttle-Shell)
  1431. zeigtefolgendesVerhalten:
  1432. -Applikationen(ProgrammeunterGEM)DÜRFENNICHTgestartetwerden.
  1433. BisherkannAESnureineApplikationgleichzeitigverwalten.
  1434. -DasStartenvonTOS-ProgrammenunterDESKTOPistmöglich
  1435. -DasStartenvonTOS-ProgrammenunteranderenApplikationenistzwar
  1436. zunächstmöglich,dieEingabevon"exit"zurRückkehrindie
  1437. HauptapplikationendetjedochIMMERmiteinemSystemabsturz.
  1438.  
  1439. DerGrundfürdasletztereVerhaltenistfolgendes:
  1440. GEMDOSlegtfürjedenProze₧einenSupervisor-Stackan.Dieserwirdfür
  1441. Interruptsgenutzt;auchdieRücksprungadressevoneinemTrapwirdhier
  1442. aufbewahrt.Leideristdieser"Interrupt-Stack"jedesmalDERSELBE(nicht
  1443. nurdergleich,sonderntatsächlichderselbe).TOS1.2beispielsweise
  1444. setztdensspimmerauf$755abeimStarteinesProzesses.
  1445. BeimAktivierendesACCgeschiehtfolgendes:
  1446. -DieHauptapplikationruftAESauf(evnt...);Rücksprungadresseund
  1447. geretteterSRliegenaufdemSupervisorstackderHauptapplikation.
  1448. -DerKontextwechsel(UmschaltenallerRegistereinschlie₧lichssp)auf
  1449. dasACCfindetstatt.
  1450. -DasACCläuft.ACCshabeneineneigenenSupervisor-Stack,dervonAES
  1451. angelegtwird,bevordasACC(nichtüberPexec()!)dasersteMal
  1452. gestartetwird.
  1453. -WirdnuneinneuerProze₧gestartet,legtGEMDOSdenselbenSupervisor-
  1454. Stackan,wieihndieHaupapplikationhat.BeimerstenInterruptoder
  1455. DOS-AufrufwerdenRücksprungadresseundgeretteterSRzerstört.
  1456. ÇSollnundieHauptapplikationwiedergestartetwerden,liegtdie
  1457. RücksprungadressenichtmehraufdemStack.DasSystemstürztab.
  1458.  
  1459. DerFehlertrittimDesktopnichtauf,daDESKTOPeineneigenenInterrupt-
  1460. StackhatundständigimSupervisormodusläuft.
  1461. DerFehleristoffensichtlichgleichzeitigAESundGEMDOSanzulasten.Man
  1462. kannauchsagen,da₧dasStartenvonProzessenvoneinemAccessoryaus
  1463. einfachnichterlaubtist.
  1464.  
  1465. DieKorrektur:KCMD.ACCwei₧vonTOS1.0,1.2,1.4(vom6.4.89),welchen
  1466. Default-Supervisor-StackGEMDOSfürneueProzesseanlegt.Esfragtdie
  1467. TOS-VersionsnummerabundmerktsichdiesenDefault-SSP.
  1468. WirddasACCaktiviert,werdendieobersten20LangwortediesesStacks
  1469. gesichert(sicherheitshalber,esmü₧teneigentlichdieobersten3Worte
  1470. genügen).WirddieserStackzerstört,machtdasnichts,davordem
  1471. nächstenAES-Aufruf(zurRückkehrindieHauptapplikation)die20
  1472. Langwortewiederzurückgeschriebenwerden.BisherhatsichdieseMa₧nahme
  1473. alsausreichenderwiesen.TrotzdemkönntenimEinzelfallProbleme
  1474. auftreten.Mansolltevorherimmertesten,obderAufrufvonProgrammen
  1475. funktioniert,bevormanwichtigeDatenaufsSpielsetzt.
  1476.