home *** CD-ROM | disk | FTP | other *** search
- ┴DDITIONAL ╚ELP ON ├╙-─╧╙ ┬ATCH ╞ILES
- ╘HINGS THE DOCS DON'T TELL YA'
- 2/14/93
- ╥ANDY ╫INCHESTER
- á
- ╚ERE ARE A FEW POINTERS AND SUGGESTIONS ABOUT CONSTRUCTING ├╙-─╧╙ BATCH
- FILES THAT WERE LEARNED THE HARD WAY. ═ANY OF THEM WEREN'T OBVIOUS FROM
- READING ├╙-─╧╙ DOCUMENTATION. ╙OME ARE PROBABLY JUST QUIRKY LITTLE THINGS
- THAT EVEN ├HRIS ╙MEETS DIDN'T EVEN KNOW ABOUT ANYWAY. ╔'LL BASICALLY JUST
- PICK APART SOME COMMANDS FROM A FEW OF THE BATCH FILES IN THIS COLLECTION.
- á
- ╞IRST, HERE'S THE BATCH FILE ├─ (BECAUSE IT'S SHORT) WITH A FEW ADDED
- COMENTS:
- á
- PUSHDIR
- á
- áá╘HIS SAVES THE LOGGED DRIVE. ╧THER DRIVES CAN THEN BE LOGGED BY THE
- ááBATCH FILE, AND THE ORIGINAL LOGGED DRIVE RESTORED WITH POPDIR.
- á
- IF "%1"=" "GOTO NOARG
- á
- áá%1 REFERS TO THE FIRST PARAMETER OF THE COMMAND TAIL. ╔F THERE IS NO
- ááCOMMAND TAIL, A SPACE IS RETURNED, NOT A NULL STRING.
- á
- X$="%1"
- á
- áá├OMMAND TAIL PARAMETERS CAN BE ASSIGNED TO OTHER STRINGS, X$ IN THIS
- ááCASE. ┴NY TIME A COMMAND PARAMETER IS COMPARED TO A STRING OR ASSIGNED
- ááTO A VARIABLE, IT MUST BE SURROUNDED BY DOUBLE QUOTES.
- á
- IF MID$(X$,2,1)=":"THEN A=ASC(X$):SYS5888,A:X$=MID$(X$,3,LEN(X$)-2)
- á
- áá╘HIS LINE IS PURE ┬┴╙╔├ 7.0. ╔T LOOKS AT X$ TO SEE IF THE SECOND
- ááCHARACTER IS A COLON. ╔F SO, THE FIRST CHARACTER MUST BE A DRIVE LETTER.
- áá╘HE ├╙-─╧╙ ROUTINE AT 5888 TAKES THE ┴╙├╔╔ VALUE OF THE CHARACTER IN THE
- ááVARIABLE "A" AND LOGS IT AS THE NEW DRIVE. ╘HE REMAINDER OF THE LINE
- ááSTRIPS FIRST TWO CHARACTERS FROM X$.
- á
- POKE7136,0:IF X$="/"THEN POKE7136,1
- IF ERRORLEVEL 1 GOTO ROOT
- á
- áá╘HIS LITTLE SUBTERFUGE IS NECESSARY BECAUSE ├╙-─╧╙ AND ┬┴╙╔├ COMMANDS
- ááDON'T MIX WELL. ╔T CHECKS X$ TO SEE IF IT IS EQUAL TO THE "/" CHARACTER
- ááUSED FOR SPECIFYING THE ROOT DIRECTORY. ╒NFORTUNATELY, A LINE LIKE:
- áááááááIF X$="/" GOTO ROOT
- ááDOESN'T WORK. ╘O GET AROUND THIS, THE ├╙-─╧╙ ERRORLEVEL IS CLEARED BY
- ááPOKING IT WITH A 0. ╘HEN IF X$="/" SET ERRORLEVEL TO ONE BY POKING IT
- ááWITH 1. (┼RRORLEVEL IS LOCATED AT 7136). ╘HE SECOND LINE CHECKS
- ááERRORLEVEL, AND GOES TO THE LABLE ROOT IF X$ WAS EQUAL TO "/".
- á
- >/%1
- GOTO DONE
- á
- áá╘HIS USES THE ├╙-─╧╙ SHELL'S WEDGE TO OPEN THE SUBDIRECTORY NAMED IN THE
- ááCOMMAND TAIL. ┘OU HAVE TO BE ESPECIALLY CAREFUL USING THE WEDGE ">"
- ááCHARACTER IN A BATCH FILE BECAUSE UNLESS IT IS THE FIRST CHARACTER ON A
- ááLINE, IT CAN BE MISTAKEN FOR THE OUTPUT REDIRECTION ">" CHARACTER.
- á
- :ROOT
- >/
- GOTO DONE
- á
- áá╠ABELS ARE ALWAYS PRECEEDED BY A ":" AND MUST START IN THE FIRST COLUMN
- ááOF THE LINE. ╔F A LABEL IS PRECEEDED BY A SPACE OR OTHER CHARACTER, IT
- ááWON'T BE FOUND.
- á
- :NOARG
- ECHO ╙YNTAX: %0 [D:] DIRECTORY
- á
- áá╘HE %0 PARAMETER ECHOS THE NAME OF THE COMMAND ITSSELF, IN THIS CASE, CD.
- áá╔F THE NAME OF THE COMMAND IS CHANGED, THAT IS, IF CD IS RENAMED, THE NEW
- ááWILL SHOW UP ON THE ╙YNTAX SUMMARY.
- á
- :DONE
- POPDIR
- á
- áá╨OPDIR RESTORES THE DRIVE THAT WAS LOGGED WHEN THE BATCH FILE WAS RUN.
- á
- áá╘HE FOLLOWING TIDBIT IS THE ENTIRE STRING SEARCH ROUTINE FROM THE DEX
- ááBATCH FILE:
- á
- IF EXIST DEX.TXT GREP -Y %1 DEX.TXT
- IF EXIST DEX.TXT GOTO DONE
- SYS5888,90
- IF EXIST DEX.TXT GREP -Y %1 DEX.TXT
- IF NOT EXIST DEX.TXT GOTO NOTFOUND
- GOTO DONE
- á
- áá╔F THE FILE ─┼╪.╘╪╘ IS PRESENT ON THE LOGGED DRIVE, THEN ╟╥┼╨ IS USED TO
- ááTO SEARCH FOR THE STRING THAT WAS GIVEN ON THE COMMAND LINE. ╔F ─┼╪.╘╪╘
- ááWASN'T FOUND, THE ROUTINE FALLS THROUGH TO SYS5888,90 TO LOG THE BOOT
- ááDRIVE (DRIVE Z), AND TRY AGAIN. ╔F ─┼╪.╘╪╘ STILL ISN'T FOUND, CODE AFTER
- ááTHE LABEL "NOTFOUND" LETS THE USER KNOW THAT THE FILE ISN'T THERE.
- á
- áá╘HE NEXT THREE LINES APPEAR IN THE BATCH FILE ═┴╬:
- á
- ECHO "ô ═ANUAL FOR "%1" "
- ?CHR$(27)"T"
- CHAR0,0,20,"",0
- á
- áá┘OU CAN INCLUDE CONTROL CHARACTERS SUCH AS ╚╧═┼, ├╠╥, ╙WITCH TO ╠OWER
- áá├ASE, AND ╥VS ╧N, WITH THE ECHO COMMAND IF YOU PRECEED THEM WITH A
- ááA DOUBLE QUOTE. ├OMPLEX SCREEN FORMATTING IS POSSIBLE BY PRINTING ┼╙├
- ááSEQUENCES FOR WINDOWING, AND POSITIONING THE CURSOR WITH THE ├╚┴╥
- ááCOMMAND.
- á
- LHX -P %1.LZH"
- á
- áá╘HIS WAS JUST PLAIN QUIRKY! ╘HE ╠╚╪ COMMAND COULDN'T SUCCESSFULLY DO
- ááTHE REQUESTED PATTERN MATCHING WHEN INCLUDED IN A BATCH FILE UNLESS IT
- ááFOLLOWED BY A DOUBLE QUOTE. ╔ DON'T REMEMBER HOW ╔ FINALLY FIGURED THAT
- ááOUT, BUT IT WOULDN'T WORK ANY OTHER WAY.
- á
- á
-