home *** CD-ROM | disk | FTP | other *** search
- GET24NEW.DOC - New features in GET.EXE - Copyright 1991 Bob Stephan
-
- This file summarizes the new and improved features in the various
- releases of GET Version 2 through Release 2.4. If you have been using
- an older version of GET, you should read this file to find out what
- has been changed, and what has been added. Any items of interest
- mentioned here are fully described in GET.DOC. This is merely a
- brief overview.
-
- Release 2.4:
-
- GET.EXE Release 2.4 contains only a few changes from Release 2.3.
- There are no bug fixes (none have been reported in 2.3) so if you
- don't need any of the new features, you can continue to use 2.3 with
- confidence.
-
- There were a very few reports of an apparent ROM BIOS incompatibility
- with one or two different systems which involved the method of
- displaying the prompt in 2.3. The method was changed from Version
- 2.2 to permit displaying the prompt in color or reverse video even
- with ANSI.SYS loaded. It is now changed again to try to fix this
- BIOS incompatibility that so far has appeared only rarely.
- Due to the most recent method now being used in Version 2.4, the
- maximum prompt length has to be limited to 79 characters if /A is
- used. The "prompt" can also be used to send ANSI.SYS escape
- sequences to the screen. See information on the /A switch below.
-
- GET R for 'Rithmetic - add or subtract two numbers.
- Syntax: GET R[E] [num1] [/Wnum2]
-
- Input: One or two numbers for arithmetic
-
- Process:GET R adds the two numbers
- GET RE subtracts the second from the first
-
- Output: Arithmetic result in Environment and ErrorLevel
- If only one number is given, the other number defaults to 0.
- Max number of digits for each number is 4.
- Thus a character representation of a number can be converted
- to a number in the ErrorLevel.
- Example: A loop counter
- SET COUNT=0
- :LOOP
- GET R %COUNT% /W1 /VCOUNT=
- Echo The count is %COUNT%
- IF NOT ERRORLEVEL 10 GOTO LOOP
- If the result is greater than 255, the ErrorLevel is modulo 256.
- 256=0, 257=1, ..., 511=255, 512=0, etc.
- No negative numbers are recognized. If a larger number is
- subtracted from smaller, the result is the difference + 65536.
- Example: GET RE 10 /W20
- The ErrorLevel is 246
- The Environment is 65526
-
- SWITCHES:
-
- /A if the /A switch is not included, the prompt will be displayed
- in such a manner that ANSI sequences can be used for screen
- control. This restores compatibility with Version 2.2 for
- prompting and using ANSI screen control sequences. The "prompt"
- will always be sent to the screen even if standard output is
- redirected with DOS redirection (>). Without /A the prompt can
- be as long as will fit on the DOS command or BATch line which is
- limited to 128 characters total. With /A, the prompt is limited
- to 79 characters.
-
- /T TRIM switch for GET S, GET Z, and GET HE.
- /TL or /T- will trim leading blanks.
- /TR or /T+ will trim trailing blanks.
-
- /V- will suppress creation of the Environment variable completely.
- A side effect of /V- is that SET GET?=ON will have no effect.
- Since the search of the Environment is being completely bypassed,
- GET will not be able to check for the GET? variable.
-
- Two additions to the GET F command:
-
- /X Previously GET F always put the filesize in the Environment in
- hexadecimal. Now it will be in decimal kilobytes, unless the /X
- for heX switch is included in which case it will be the full
- size in hex as before.
-
- A divisor can be provided for the GET F file size command similar to
- the divisors permitted for GET K and GET Q.
-
- Syntax: GET F filespec /Wnum
-
- NOTE: The use of GET F to test for the existence of a directory is
- valid only for subdirectories, and not for any root directory.
- Since DOS does not recognize the root directory as a file, commands
- such as GET F \, GET F c:\, GET F c:, etc. are not valid. Also,
- if there is an error (no Environment variable) and the ErrorLevel
- is 15 it means that an invalid drive was specified. These items
- were true in previous versions of GET, but were not described
- completely in the documentation. Also, although it is a
- documented procedure in MS DOS 5.0, do not use the NUL device to
- check for a directory if any users might be using DR DOS 5.0. DR
- DOS 5 thinks that the NUL (and other) devices exist even in
- non-existent directories. It may be that a few other versions of
- DOS do not support the NUL device method of checking, but GET will
- work with them all.
-
- There is a minor improvement to the GET UE command. Previously the
- value placed in the Environment for the key-lock status did not
- always match the value requested by the previous use of GET UE,
- although the saved result gave the same result if used to restore
- the keyboard locks. Now the value reported will match.
-
- There are some internal changes to reduce executable file size, but
- the runtime version could not be kept under 4K. An additional
- runtime version is available that does not have the T
- (moving Text) feature for those who do not use it. This version
- is still under 4K. Look for GETNOT.EXE (GET NO T) on the
- registered disk.
-
- One final clarification. It has been pointed out that the documentation
- for the VE (set border color) command does not clearly specify which
- portions of the color table shown for /A are valid. GET VE will
- take any of the 8 basic color codes 0-7. The remaining information
- that can be used for /A or GET B has no meaning for GET VE.
-
- If you have a modem, VISA and MASTERCARD registrations can be entered via
- NITELOG BBS, 408-655-1096. After completing the brief sign-on registra-
- tion, enter S for Script, then 3 for Script 3.
-
- Release 2.3:
-
- GET.EXE, Release 2.3 contains many significant changes. I have
- tried to maintain compatibility with GET 2.2, but there are a couple
- of changes that can cause some previous GET commands to behave
- differently. In the cases where the new features duplicate
- previously available features, BATch programmers should make every
- effort to change over to the newer methods. When Version 3 comes
- out at some future time, the older methods will be eliminated.
- A compatibility warning feature has been included in GET 2.3.
- See GET.DOC for full details on these features.
-
- If you used GET for ANSI.SYS escape sequences, see the note under
- the description of the /A switch.
-
- Size has increased only slightly. The runtime version is still
- under 4K as compressed.
-
- The biggest change in the syntax of GET commands is the addition of
- the use of switches to modify the commands. This provides a richer,
- more flexible repertory of options for the BATch programmer. The
- switches must come after all other arguments, and are indicated by
- the switch character which is the forward slash "/". Switch letters
- can be entered in either lower or upper case. The switches that
- have been implemented in Release 2.3 are:
-
- /B flush keyboard Buffer. May be useful to flush any type-ahead
- keystrokes when asking for user input.
-
- /C tells GET to handle Ctrl-C and Ctrl-Break instead of letting DOS do
- it.
-
- /U specifies that the string that is written to the environment is
- to be forced into upper case (Caps).
-
- /L specifies that the string is to be forced into lower case.
-
- /M tells GET to try to put the string in the master environment
- instead of the child environment.
-
- /E specifies that keystrokes will be read from the Enhanced
- keyboard.
-
- /X specifies that extended keys will be accepted.
-
- /Vvar= specifies a name for the Environment variable other than
- GET.
-
- /W is used to specify a number of seconds to wait for input.
-
- /A controls the screen attribute of prompts.
-
- /~ This is a temporary switch that is used with GET S only.
-
- The next major enhancement is the handling of extended/enhanced
- keys. For GET C and GET T you can now specify individual function
- and other extended keys by using a relatively simple but effective
- surrogate scheme.
-
- Other changes and enhancements:
-
- GET?. To help in debugging, or simply to use GET from the command
- line, you can tell GET to report to the screen what it is putting
- in the Environment and the ErrorLevel. If you issue the DOS
- command, SET GET?=ON, either from the command line, or in a BATch
- file, then GET will tell you what it is doing.
-
- GET S. When waiting for a string and the user presses Escape, GET
- can put the ESC surrogate, "~", in the Environment and 126 in the
- ErrorLevel (instead of 0 as before). This is activated by using
- the /~ switch.
-
- GET BR is a new command to check and/or set the DOS BREAK Flag.
- GET BR also gives you another method of communicating from your
- CONFIG.SYS to your AUTOEXEC.BAT. You can set BREAK ON or OFF in
- CONFIG.SYS according to whatever you want it to mean, and use
- GET BR to check and optionally reset it in your AUTOEXEC.BAT, then
- take some action according to whether it was ON or OFF.
-
- GET 4 is a new get command to check for 4DOS or Windows. In either
- case it will report 1 for "yes" and 0 for "no.
- GET 4 finds out if 4DOS is the command processor.
- GET 4E finds out if Windows is running.
-
- GET I now reports the key that is waiting, and it takes the same
- aruguments as GET C so you can check for extended/enhanced keys.
- Consequently, GET I does not use standard input any more.
-
- GET Z, as mentioned above, now does not look for the master
- environment unless the /M switch is included. GET Z also has
- enhanced string handling features.
-
- Release 2.2:
-
- Release 2.2 added a feature to put the string for GET Z "string"
- in the true master environment, bypassing all copies of secondary
- command processors. It has been tested with DOS 3.3, DOS 4.01,
- DR DOS, and 4DOS, but it is a tricky business and there are no
- guarantees.
-
- Release 2.2 also adds Escape to the list of recognized string
- characters for GET S, and it treats ASCII 255 as sort of an
- upper-case space character.
- GET Y will now take a drive argument, and returns 0 for a root
- directory with GET=\.
- GET 7E now returns a code for the type of CPU chip. The PC Model
- function has been reassigned to GET AE.
- GET.DOC has been considerably expanded, and it includes clearer
- LICENSING information. A smaller runtime version is available
- for a minimum registration fee.
-
- Release 2.1b:
-
- Release 2.1b included some additional documentation.
- There were no new features in either 2.1a or 2.1b.
-
- Release 2.1a:
-
- Release 2.1a gives better results when using the K, L, or Q
- commands on a hard disk with large partitions. Release 2.1 could
- report misleading information for such disks.
-
- ****************** New features in Version 2 **********************
-
- 1. The capacity of a disk. GET Q works just like GET K.
- Note that the extended command now divides the ERRORLEVEL by 100
- instead of 10 as it did in the previous version. And if you need
- a different divisor you can use the # notation.
- 2. Timeout. C, N, and S now have a timeout capability.
- 3. Directory existence. The F command for GET Filesize can now be used to
- determine whether a named directory exists.
- 4. SURROGATES: The surrogate for extended keys was changed to { because
- 4DOS treats the "back quote" (grave accent) as a special character
- in BATch files. GET now works with DR DOS and 4DOS. In previous
- versions of GET, the surrogate for extended keys had to be the first
- character in the argument if it was present. Now it can be any place
- in the argument.
- A new surrogate for extended keys on the enhanced keyboard (101
- keys) has been added.
- A surrogate for the space character ASCII 32 was added.
- A surrogate of ASCII 253 will suppress Control-C and Ctrl_Break.
- 5. The I command checks to see whether a key is in the buffer.
- 6. The L command gets the Volume Label of the specified
- disk. The LE command will compare the "string" argument with the
- label and set the ERRORLEVEL to indicate whether there is a match.
- 7. The length of a string for the S command can be specified, and a
- pattern can be given to limit the types of characters entered.
- 8. W will reboot the computer as if the 3-finger salute was pressed.
- WE will reboot as if the computer was turned off then on again.
- If any characters are present as an argument, instead of rebooting,
- GET will attempt to determine whether the preceding boot was warm
- or cold.
- 9. GET AE will return the ROM BIOS model byte.
- 10. VE will get/set the border color on a VGA or EGA monitor.
- 11. PE has a change to inactivate Print-Screen.
- 12. The new H command provides Date and Time information.
- 13. Z (Zap) accesses the real master environment.
- 14. The Moving Text option is back in Version 2.2.
- 15. The U command will stack keys in the keyboard bUffer. UE will
- adjust NumLock, CapsLock, and Scroll Lock.
-
- What new features do you need? Your comments, questions, and
- suggestions are always welcome. See GET.DOC for information on how
- to contact me.
-
- You may have noticed that PC Magazine has come out with a BATch
- enhancer to handle strings. Do you think that GET should also be
- able to do similar things with strings? Or, would it be better to
- keep GET smaller, and use something like the PC Magazine utility if
- you need string handling features?
- /Bob Stephan/
- November 1, 1991
-