History of XSET =============== Version 4.20 ============ New functionalities: ------------------- - DRIVETEST also returns: 'HARDDISK', 'TAPE', 'OPTICAL', 'FLOPPY' & 'CDROM' Version 4.10 ============ New functionalities: ------------------- - /REVERSE reverts a string (first character becomes last one) - /LEFT, /RIGHT & /MID handle arguments counted from end of string - ability to use ERRORLEVEL function even if your shell is not supported (see XSET.DOC) Bug corrections: --------------- - ERRORLEVEL sometimes returned a wrong value Version 4.02 ============ Changes: ------- - DIFFDATE also allows 4 digits years (94, 1994, ...) New functionalities: ------------------- - XSET handles the special case of the variable 'windir' created in Windows DOS boxes that you normally cannot use. Bug corrections: --------------- - ERRORLEVEL return was wrong for MS-DOS 6.0 - some problems dedicated to demo version in some very particular configurations Version 4.00 ============ Changes: ------- - ERRORLEVEL is PC-DOS 6.1 and MS-DOS 6.2 compatible - /TIMEOUT n Line input: If n < 0, time-out will be active during the whole input process; if you wait more than abs(n) seconds between two keys, the program will return the string typed so far. KEY input: the program will return after the specified time if no valid key was hit. ^^^^^ New functionalities: ------------------- - /SEPARATOR string This uses the characters from 'string' as word separator. This option is intended to be used with /WORD and /COUNT. - RANDOM n1 n2 This generates a random integer number between n1 and n2. Version 3.50 ============ New functionalities: ------------------- This version now fully supports full edition of input lines. Valid keys: Home Begin of line End End of line Left/Right One character left/right Insert Toggle isert on/off Delete Delete current character BackSpace Delete previous character Ctrl-home Erase to begin-of-line Ctrl-end Erase to end-of-line Escape Erase whole input Enter Accept input /DEFAULT set current value as default for the input prompt /TIMEOUT n breaks the input if no key was hit after n seconds /COLOR change prompt color valid colors = BLACK BLUE GREEN CYAN RED MAGENTA BROWN DARKGRAY LIGHTGRAY LIGHTBLUE LIGHTGREEN LIGHTCYAN LIGHTRED LIGHTMAGENTA YELLOW WHITE HIGHLIGHT REVERSE /BACKGROUND will change prompt background color valid colors = BLACK BLUE GREEN CYAN RED MAGENTA BROWN DARKGRAY LIGHTGRAY /BLINK displays a blinking prompt /XPOS x Set cursor to column x (or current - abs(x) if x < 0) before displaying prompt. /YPOS y Set cursor to line y (or current - abs(y) if y < 0) before displaying prompt. /WINDOW left top right bottom Draw a window (using color specified with /BACKGROUND). /BOX Draw a window around the prompt . /BORDER Add a border inside a window (specified with /WINDOW or /BOX). CPU returns processor type (86, 186, 286, 386 or 486) VOLLABEL returns the volume label of a disk DRIVETEST tests if a disk drive is readable, writeable, invalid, remote, removable, ram disk, subst, ... /LINE accepts both positive and negative arguments: 1 will read first line 2 will read second line -1 will read the last line, -2 will read the line before, ... XSET variable: Before scanning the command line, the XSET program will look for the 'XSET' variable into the current DOS environment. If it exists, the XSET program will use the variable contents like option flags you would have given onto the command line. After it will use the option flags given onto the command line. XSET_MSG variable: Assigned by the XSET program itself to specify special events. Changes: ------- - FTIME also returns seconds (hh:mm:ss) - ERRORLEVEL is MS-DOS 6.0 compatible - /MATH accepts hexadecimal numbers followed by H - /MATH accepts power expression ( x^y ) - KEY also returns non-printable characters as their decimal ASCII code preceeded by a '#'. - /REGEXP accepts a new special character '?' matching 'zero or one time'. Bug corrections: --------------- - This version now fully supports non standard mode like 30 or 60 lines. - bug fix in function FEXT when no extension in filename. - XSET did not recognize empty strings on command-line (""). Version 3.00 ============ Completely new interface to allow several operations in one shot. ex: XSET/LOWER /PROMPT "Enter a filename: " FPATH Type XSET /? to get the full description of all functionalities. Version 2.60 ============ New commands added: XSET /VIEW var will show content of variable 'var' This command is useful to use variables longer than 128 characters. You can exit the help screen at any time by hitting Escape or Ctrl-C. Version 2.50 ============ New commands added: XSET /VIEW display all environment variables Version 2.40 ============ New commands added: XSET /SIZE display environment size and free size (in bytes). Bug correction: bug fix in function DIFFDATE. Version 2.30 ============ New commands added: Commands Arguments Action and value assigned to -------- --------- ------------------------------------- DIFFDATE date1 date2 number of days between date1 and date2 (date2 - date1) date format may be 'dd-mm-yy' or 'yymmdd' (may also be mixed) Bug correction: WORD 1 sometimes returned wrong result. Version 2.20 ============ New commands added: Commands Arguments Action and value assigned to -------- --------- ------------------------------------- YYMMDD system date in 'yymmdd' format VARCOPY variable contents of DOS environment variable 'variable' XSET /CLEAR will clear delete all variables from environment\r\n\n" XSET /LOAD will load variables from standard input. variables must have been saved with command 'SET' ex: save variables with 'SET > SAVEFILE.VAR' reload variables with 'XSET /LOAD < SAVEFILE.VAR' Enhancements: Function 'PASSWD' accepts up to 127 characters Function 'MATH' accepts logical operators '= < > <= >=' Version 2.12 ============ Bug correction: file functions returned TRUENAME. Version 2.11 ============ Bug correction: the BYTEFREE command was sometimes return -1. Version 2.10 ============ New commands added: Commands Arguments Action and value assigned to -------- --------- ------------------------------------- ERRORLEVEL none errorlevel code of last command BYTEFREE [drive] number of bytes free on specified (or current) drive DAYOFWEEK day in the week ( 0 = sunday,... ) CHANGE s1 s2 {s3} change by in SEARCH str1 {str2} portion of matching Version 2.03 ============ Bug correction: little problem appearing sometimes with KEY command. Bug correction: garbage display when no prompt specified with INPUT command. Bug correction: strange behaviour on certain machines when invoking for the first time the DENSITY command. Version 2.02 ============ Bug correction: all INPUT commands where buggy (due to a compilation problem). Version 2.01 ============ Bug correction: the command TRUENAME always returned an empty string (due to a last minute change). Version 2.0 =========== New commands added: Commands Arguments Action and value assigned to -------- --------- ------------------------------------- MIN Ú{str1...strn} minimum or maximum of numbers or strings list MAX À{num1...numn} (one string may not contain or ) FPATH {file} full pathname of a filename FDRIVE {file} drive of a filename FDIR {file} drive & directory of a filename FEXT {file} extension of a file name (no period included) FNAME {file} name of a file without extension FXNAME {file} name & extension of a file FSIZE {file} size of a file TRUENAME {file} full truename of a file LINE n read the -th line from standard input STDERR n read the -th line from standard error Version 1.1 =========== First shareware version. Version 1.0 =========== Creation for personal use.