home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / enterprs / c128 / util / cs-batch.sfx / batchfiles.txt next >
Text File  |  1990-02-12  |  4KB  |  115 lines

  1. ┴DDITIONAL ╚ELP ON ├╙-─╧╙ ┬ATCH ╞ILES
  2. ╘HINGS THE DOCS DON'T TELL YA'
  3. 2/14/93
  4. ╥ANDY ╫INCHESTER
  5. á
  6. ╚ERE ARE A FEW POINTERS AND SUGGESTIONS ABOUT CONSTRUCTING ├╙-─╧╙ BATCH
  7. FILES THAT WERE LEARNED THE HARD WAY.  ═ANY OF THEM WEREN'T OBVIOUS FROM
  8. READING ├╙-─╧╙ DOCUMENTATION.  ╙OME ARE PROBABLY JUST QUIRKY LITTLE THINGS
  9. THAT EVEN ├HRIS ╙MEETS DIDN'T EVEN KNOW ABOUT ANYWAY.  ╔'LL BASICALLY JUST
  10. PICK APART SOME COMMANDS FROM A FEW OF THE BATCH FILES IN THIS COLLECTION.
  11. á
  12. ╞IRST, HERE'S THE BATCH FILE ├─ (BECAUSE IT'S SHORT) WITH A FEW ADDED
  13. COMENTS:
  14. á
  15. PUSHDIR
  16. á
  17. áá╘HIS SAVES THE LOGGED DRIVE.  ╧THER DRIVES CAN THEN BE LOGGED BY THE
  18. ááBATCH FILE, AND THE ORIGINAL LOGGED DRIVE RESTORED WITH POPDIR.
  19. á
  20. IF "%1"=" "GOTO NOARG
  21. á
  22. áá%1 REFERS TO THE FIRST PARAMETER OF THE COMMAND TAIL.  ╔F THERE IS NO
  23. ááCOMMAND TAIL, A SPACE IS RETURNED, NOT A NULL STRING.
  24. á
  25. X$="%1"
  26. á
  27. áá├OMMAND TAIL PARAMETERS CAN BE ASSIGNED TO OTHER STRINGS, X$ IN THIS
  28. ááCASE.  ┴NY TIME A COMMAND PARAMETER IS COMPARED TO A STRING OR ASSIGNED
  29. ááTO A VARIABLE, IT MUST BE SURROUNDED BY DOUBLE QUOTES.
  30. á
  31. IF MID$(X$,2,1)=":"THEN A=ASC(X$):SYS5888,A:X$=MID$(X$,3,LEN(X$)-2)
  32. á
  33. áá╘HIS LINE IS PURE ┬┴╙╔├ 7.0.  ╔T LOOKS AT X$ TO SEE IF THE SECOND
  34. ááCHARACTER IS A COLON.  ╔F SO, THE FIRST CHARACTER MUST BE A DRIVE LETTER.
  35. áá╘HE ├╙-─╧╙ ROUTINE AT 5888 TAKES THE ┴╙├╔╔ VALUE OF THE CHARACTER IN THE
  36. ááVARIABLE "A" AND LOGS IT AS THE NEW DRIVE.  ╘HE REMAINDER OF THE LINE
  37. ááSTRIPS FIRST TWO CHARACTERS FROM X$.
  38. á
  39. POKE7136,0:IF X$="/"THEN POKE7136,1
  40. IF ERRORLEVEL 1 GOTO ROOT
  41. á
  42. áá╘HIS LITTLE SUBTERFUGE IS NECESSARY BECAUSE ├╙-─╧╙ AND ┬┴╙╔├ COMMANDS
  43. ááDON'T MIX WELL.  ╔T CHECKS X$ TO SEE IF IT IS EQUAL TO THE "/" CHARACTER
  44. ááUSED FOR SPECIFYING THE ROOT DIRECTORY.  ╒NFORTUNATELY, A LINE LIKE:
  45. áááááááIF X$="/" GOTO ROOT
  46. ááDOESN'T WORK.  ╘O GET AROUND THIS, THE ├╙-─╧╙ ERRORLEVEL IS CLEARED BY
  47. ááPOKING IT WITH A 0.  ╘HEN IF X$="/" SET ERRORLEVEL TO ONE BY POKING IT
  48. ááWITH 1.  (┼RRORLEVEL IS LOCATED AT 7136).  ╘HE SECOND LINE CHECKS
  49. ááERRORLEVEL, AND GOES TO THE LABLE ROOT IF X$ WAS EQUAL TO "/".
  50. á
  51. >/%1
  52. GOTO DONE
  53. á
  54. áá╘HIS USES THE ├╙-─╧╙ SHELL'S WEDGE TO OPEN THE SUBDIRECTORY NAMED IN THE
  55. ááCOMMAND TAIL.  ┘OU HAVE TO BE ESPECIALLY CAREFUL USING THE WEDGE ">"
  56. ááCHARACTER IN A BATCH FILE BECAUSE UNLESS IT IS THE FIRST CHARACTER ON A
  57. ááLINE, IT CAN BE MISTAKEN FOR THE OUTPUT REDIRECTION ">" CHARACTER.
  58. á
  59. :ROOT
  60. >/
  61. GOTO DONE
  62. á
  63. áá╠ABELS ARE ALWAYS PRECEEDED BY A ":" AND MUST START IN THE FIRST COLUMN
  64. ááOF THE LINE.  ╔F A LABEL IS PRECEEDED BY A SPACE OR OTHER CHARACTER, IT
  65. ááWON'T BE FOUND.
  66. á
  67. :NOARG
  68. ECHO ╙YNTAX: %0 [D:] DIRECTORY
  69. á
  70. áá╘HE %0 PARAMETER ECHOS THE NAME OF THE COMMAND ITSSELF, IN THIS CASE, CD.
  71. áá╔F THE NAME OF THE COMMAND IS CHANGED, THAT IS, IF CD IS RENAMED, THE NEW
  72. ááWILL SHOW UP ON THE ╙YNTAX SUMMARY.
  73. á
  74. :DONE
  75. POPDIR
  76. á
  77. áá╨OPDIR RESTORES THE DRIVE THAT WAS LOGGED WHEN THE BATCH FILE WAS RUN.
  78. á
  79. áá╘HE FOLLOWING TIDBIT IS THE ENTIRE STRING SEARCH ROUTINE FROM THE DEX
  80. ááBATCH FILE:
  81. á
  82. IF EXIST DEX.TXT GREP -Y %1 DEX.TXT
  83. IF EXIST DEX.TXT GOTO DONE
  84. SYS5888,90
  85. IF EXIST DEX.TXT GREP -Y %1 DEX.TXT
  86. IF NOT EXIST DEX.TXT GOTO NOTFOUND
  87. GOTO DONE
  88. á
  89. áá╔F THE FILE ─┼╪.╘╪╘ IS PRESENT ON THE LOGGED DRIVE, THEN ╟╥┼╨ IS USED TO
  90. ááTO SEARCH FOR THE STRING THAT WAS GIVEN ON THE COMMAND LINE.  ╔F ─┼╪.╘╪╘
  91. ááWASN'T FOUND, THE ROUTINE FALLS THROUGH TO SYS5888,90 TO LOG THE BOOT
  92. ááDRIVE (DRIVE Z), AND TRY AGAIN.  ╔F ─┼╪.╘╪╘ STILL ISN'T FOUND, CODE AFTER
  93. ááTHE LABEL "NOTFOUND" LETS THE USER KNOW THAT THE FILE ISN'T THERE.
  94. á
  95. áá╘HE NEXT THREE LINES APPEAR IN THE BATCH FILE ═┴╬:
  96. á
  97. ECHO "ô ═ANUAL FOR "%1" "
  98. ?CHR$(27)"T"
  99. CHAR0,0,20,"",0
  100. á
  101. áá┘OU CAN INCLUDE CONTROL CHARACTERS SUCH AS ╚╧═┼, ├╠╥, ╙WITCH TO ╠OWER
  102. áá├ASE, AND ╥VS ╧N, WITH THE ECHO COMMAND IF YOU PRECEED THEM WITH A
  103. ááA DOUBLE QUOTE.  ├OMPLEX SCREEN FORMATTING IS POSSIBLE BY PRINTING ┼╙├
  104. ááSEQUENCES FOR WINDOWING, AND POSITIONING THE CURSOR WITH THE ├╚┴╥
  105. ááCOMMAND.
  106. á
  107. LHX -P %1.LZH"
  108. á
  109. áá╘HIS WAS JUST PLAIN QUIRKY!  ╘HE ╠╚╪ COMMAND COULDN'T SUCCESSFULLY DO
  110. ááTHE REQUESTED PATTERN MATCHING WHEN INCLUDED IN A BATCH FILE UNLESS IT
  111. ááFOLLOWED BY A DOUBLE QUOTE.  ╔ DON'T REMEMBER HOW ╔ FINALLY FIGURED THAT
  112. ááOUT, BUT IT WOULDN'T WORK ANY OTHER WAY.
  113. á
  114. á
  115.