*==============================================================* | | | | | | | | | | | | | The PC Magazine Utilities | | | | Volume I | | | | Copyright (C) 1986 Ziff-Davis Publishing Co. | | | | Manual assembled and edited by Craig L. Stark | | | | | | | | | | | | | | | *==============================================================* ATTR (Attribute) Charles Petzold Command No. 1 ______________________________________________________ Purpose: ATTR.COM permits display and modification of the archive, system, hidden, and read-only file attributes. Format: ATTR or ATTR *.* or ATTR [+A|-A] [+S|-S] [+H|-H] [+R|-R] [d:][path]filename[.ext] Remarks: Entering ATTR without any parameters, as in the first format shown above, produces a help display (essentially identical to the third form above) that shows which file attributes can be changed. ATTR.COM permits the use of the global ? and * characters (as in the second format above). Entering ATTR filename displays a specific file's attributes. For example, ATTR IBMBIO.COM returns the display IBMBIO.COM Arc Sys Hid R-O showing that the Archive, System, Hidden, and Read-Only bits of the attribute byte are set for this file. When wildcards are used to list the attributes of all the files in a directory, subdirectory names are shown as Dir (between the Arc and Sys in the example above). Unlike the DOS DIR command, ATTR lists hidden files, whether sought by specified filename or through a *.* listing. However, ATTR does not show Volume names or the dot and double- dot entries in subdirectories. The syntax for changing file attributes is indicated in the third format above. After typing ATTR (and a space) you simply precede the file specification with a plus or minus sign, followed by the letter A (Archive), S (System), H (Hidden), or R (Read-Only). A plus sign turns on the specified attribute; a minus sign turns it off. More than one attribute can be changed at once, and the attribute-designating letters may be entered Page -1- in any order and in upper- or lowercase. No space may be used between the plus or minus and the letter that follows it, however. Example: To convert the file 85TAX.WKS to hidden and read-only, you would enter ATTR +H +R 85TAX.WKS Since DOS itself normally sets the Archive bit, entering ATTR 85TAX.WKS would produce the display 85TAX.WKS Arc Hid R-O Since the Hidden attribute has been set, however, the DIR command will produce the message, "File not found." And since the Read-Only flag has also been set, a DEL command will produce the message, "Access denied." Notes: 1. Requires DOS 2.0 or later. Page -2- BAC (Backup Directory) John Dickinson Command No. 2 _______________________________________________________ Purpose: Backs up all (or selected) files in a directory to hard or floppy disks, permitting disk changes when target disks become full. Format: BAC [d:][path]filename[.ext] [d:][path] Remarks: Unlike the DOS COPY command, BAC.COM permits you to change (formatted) target disks when backing up files to disk. Furthermore, it only backs up files whose date stamp is later than those of identically named files on the target disk. Unlike BACKUP, BAC does not change the setting of the archive bit. Also, files copied with BAC.COM are fully usable at all times; they do not need first to go through a RESTORE process. BAC.COM supports the use of global (* and ?) characters in filenames and extensions. It does not, however, permit you to REName files during copying. Example: You are working at a PC AT with a hard disk drive (C:) on which you keep your copy of BAC.COM, and you want to back up all the .DOC files stored on a 1.2-Mb floppy disk (drive A:) onto regular 360K disks (drive B:). Since these .DOC files will require approximately 600K, you must have two formatted blank floppy disks ready to use in drive B:. From the C> prompt you enter BAC A: *.DOC B: When the first target disk in drive B: is full, you will be prompted to change disks. Notes: 1. BAC.COM compares the date stamps of identically named files and will not overwrite a newer version with an older one. This may cause files to be skipped if you omit to keep your date/time current. 2. Requires DOS 2.0 or later. Page -3- Browse Charles Petzold Command No. 3 _______________________________________________________ Purpose Permits scrolling forward and backward throughout a file without use of a word processing program. Format: BROWSE [d:][path]filename[.ext] [/W] Remarks: The DOS TYPE command does not permit you to scroll ahead or go back to previously displayed material in a file. It also exits at the first instance of Ctrl-Z (ASCII 26, conventionally used as an End-of-File marker), making it impossible to scan binary (e.g. .COM) files for error messages, copyright notices, and the like. BROWSE.COM overcomes these shortcomings, giving you the chance to go immediately to the top or to the end of a file (the Home and End keys, respectively), to the succeeding or previous screen (PgUp and PgDn), or to move up or down a line at a time (Up Arrow or Down Arrow). To return to DOS, simply press the Escape key or Ctrl-Break. Wide displays, e.g. a spreadsheet file, are not broken at 80 columns, as with TYPE. BROWSE ignores carriage returns (ASCII 13), breaking lines only on line feeds (ASCII 10). The Right Arrow key scrolls the display to the right in eight-character increments (see Note 3 below) to view wide displays; the Left Arrow key returns you immediately to column zero. BROWSE expands tab characters (ASCII 9) to the next eight-character boundary, but does no other character processing unless the /W parameter is specified. Use of the /W option permits using BROWSE with WordStar files. Notes: 1. BROWSE can run under TopView or Windows; specify "writes directly to screen" in the .PIF and use the default 52K memory requirement. (The program actually requires only approximately 33K to run.) For the TopView PIF, specify that the program intercepts Interrupt 23h. 2. BROWSE is compatible with the IBM monochrome, CGA, and EGA displays, and Page -4- will even run in the EGA 43-line mode. Files prepared with word-processors that employ a one-line-per-paragraph format (such as Microsoft Word and XyWrite) may to require excessive right scrolling, however. 3. BROWSE.COM can be patched with DEBUG so that its right-scroll jumps by more than the default eight characters. The address to patch is 10F in the .COM file. After entering DEBUG BROWSE.COM type E 10F and the default value (08h) will appear. Type the desired hexadecimal number (28 for a 40-column increment; 50 for an 80- column increment) and press . Then type W to write to the disk and Q to quit DEBUG. 4. Requires DOS 2.0 or later. Page -5- COLORSET (Automatic Color Setter) Charlie Butrico Command No. 4 ______________________________________________________ Purpose: Memory-resident utility that sets the foreground, background, and border colors on color systems, and prevents attempts by applications software to reset these colors to gray-on-black. Format: [d:][path]COLORSET FG/BG BORD Remarks: While dozens of small programs can set your screen colors, many popular programs (such as dBASE II) will reset them to a drab gray-on- black. The first time you execute COLORSET, it will set your colors, remain in memory, look for such resetting instructions, and will instead set the colors to the ones you specified. Later executions of COLORSET will update the attributes only. FG/BG is the foreground and background color (a decimal number from 0 to 255). To calculate FG/BG, multiply the number of the background color by 16 and add the number of the foreground color to it. Example: The FG/BG number for blue text on a white background is 113, i.e., ( (7*16) + 1 ). The number for red text on a cyan background is 52, i.e., ( (3*16) + 4 ). BORD is the border number (a decimal number from 0 to 15). Keying just one number or using COLORSET on an EGA will change only the foreground and background colors. After running COLORSET, the DOS CLS command will clear the screen to the colors you chose rather than to the default DOS gray-on-black. Notes: 1. DOS does not permit you to use bright background colors; trying a FG/BG number higher than 127 will produce text that blinks. Page -6- 2. ======== COLOR CHART ========= 0-Black 8-Gray 1-Blue 9-Bright Blue 2-Green 10-Bright Green 3-Cyan 11-Bright Cyan 4-Red 12-Bright Red 5-Magenta 13-Bright Magenta 6-Brown 14-Yellow 7-White 15-Bright White Page -7- DDIR (Double Directory) Charles Petzold Command No. 5 _______________________________________________________ Purpose: Displays all (or selected) directory entries in double columns, sorted in alphabetical order. Format: DDIR [d:][path][filename[.ext]] Remarks: If no parameters are specified, DDIR will list all files in the current directory. Use of the global characters ? and * in the filename and extension parameters is supported. If more than one screenful (50 entries) is required, the display pauses at the bottom, showing the message, "Press any key to continue." Notes: 1. Because DDIR.COM loads a secondary command processor, it will not operate under the Run option of WordStar and possibly with some other programs that normally allow calling up external programs. For the same reason, it cannot be automatically reinvoked using the F3 key when at the DOS command level. 2. Requires DOS 2.0 or later. Page -8- DELZ (Delete file entirely) Steven Holzner Command No. 6 _______________________________________________________ Purpose: Allows you to delete a file absolutely by writing over the sector(s) it occupies. Format: DELZ then DEL/Z [d:][path][filename[.ext]] Remarks: DOS does not delete files by overwriting them. Rather, the sectors used by the "erased" file are simply made available for use by subsequently written files. Until they are so used, however, the original file can be recovered with UNDEL.COM (included in these utilities) or by using a comparable commercial product. Because it overwrites the sectors used by a file, DELZ provides complete deletion. A memory-resident utility, it attaches itself to DOS when loaded, normally as a command entered through your AUTOEXEC.BAT file. Thereafter, until you reboot, it provides a /Z (for "zero out") option for the DEL command. Example: The disk from which you boot up your PC on drive A: has a copy of DELZ.COM on it, and the disk in drive B: has a file called TAXCHEAT.85 that you wish to ensure is completely obliterated. From the A> prompt you enter DELZ to load the command into memory. Then you enter DEL/Z B:TAXCHEAT.85 Even if the TAXCHEAT.85 file is unerased, its original contents will now be unrecoverable. (The contents of that file will, in fact, be the machine language code of DELZ.COM itself.) Notes: 1. The Z in DEL/Z must be typed uppercase. The use of the global characters ? and * is supported. Page -9- 2. Because of possible conflicts with other memory-resident programs and utilities, you must check whether DELZ can be installed on your own system. While SideKick has caused no reported difficulties, running XyWrite II or III, with or without its XYKBD.COM file, is impossible after DELZ is made resident. 3. The use of DELZ.COM is likely to be reasonably infrequent, but sometimes it will be absolutely necessary. If you find at those times that co-residency conflicts prevent putting it in your AUTOEXEC.BAT file, you may wish to keep a bootable disk (formatted with the /S option) with a copy of DELZ.COM and an AUTOEXEC.BAT file that loads the program. If you then boot up from this disk you can destroy any file(s) you wish, remove the DELZ disk, and reboot your computer normally. 4. Requires DOS 2.0 or higher. Page -10- DISKSCAN Charles Petzold Command No. 7 ______________________________________________________ Purpose: Locates and identifies disk errors on hard and floppy disks, Bernoulli Boxes or other similar storage devices. Format: DISKSCAN [d:] Remarks: The DOS "Abort, Retry, Ignore?" and the CHKDSK "x lost clusters found" messages tend to appear after it is too late to save possibly valuable data. Regular use of DISKSCAN will show when a hard disk is beginning to go bad--for example, when a specific sector or two in an as-yet unallocated cluster has become unusable since the disk was formatted. (DOS marks and does not use bad clusters it finds while formatting. DISKSCAN reports these "Flagged as bad.") DISKSCAN error messages include: CRC Error: Data checksum as recalculated during read does not agree with checksum stored on disk when written. Sector Not Found: Sector boundary created during formatting is no longer readable. File Alloc. Table and Can't Read FAT: Very serious error: Back up what you can with COPY and reformat disk before trying to put files back on it. Boot Sector: If this sector of a hard disk goes bad, put a DOS disk in drive A: and issue SYS C: command. Then COPY COMMAND.COM C:. This will put a fresh copy of the system files on drive C:. If this does not work, boot up again from the external DOS floppy disk, back up all hard disk files, and reformat the hard disk. Root Directory: Errors here could keep you from later being able to load a file or save updates to it. CHKDSK will probably indicate unallocated cluster chains or cross-linked files, and you may have to use CHKDSK/F to save what you can. Unallocated: As yet, not serious, as the bad sector is not being used. When it is, though, and you try to save a file with this sector, you'll get an "Abort, Retry, Ignore" message. Select "Ignore" to save what you can, then REName the Page -11- file and save again under the new name. Use RECOVER filename with the original file; this will cause DOS to flag its cluster(s) as bad. (DISKSCAN does not enter the bad cluster numbers in the File Allocation Table; FORMAT and RECOVER do.) Then delete the original (RECOVERed) filename and check the second version you saved (under the new name) to see how much (if any) of it is usable. Used by file: While DISKSCAN reports the bad sector number, it does not do a cross- check to see which of your files is using that sector. You may be able to identify this by issuing the command SWEEP COPY *.* NUL When COPY encounters the file with the bad sector it will report "Abort, Retry, Ignore." Note the bad file and press "I" to continue. Read Fault and General Failure: The sectors so designated are bad, but the errors reported don't fall into any of the above categories. Notes: 1. Requires DOS 2.0 or higher. Page -12- DOORS John Dickinson Command No. 8 ______________________________________________________ Purpose: Permits switching between two simultaneously connected displays without leaving an application program and thereby losing the contents of the alternate screen. Format: DOORS (loads memory-resident program) (toggles between screens) Remarks: When the second screen display is invoked by pressing Alt-Right Shift, DOORS begins by copying the first screen to the second. The first screen display remains resident on that monitor, for reference, but the focus of your work shifts to the second screen, on which you may continue working. If you then subsequently switch back to the first monitor (by pressing Alt-Right Shift again), the second monitor's current contents will remain on its display but will initially be copied to the first monitor. Since the monochrome display cannot support 40-column text or color graphics modes, DOORS can only be used with your color monitor set for 80-column text mode. In addition to switching between monochrome and color text modes, however, DOORS permits you to store a screen from either a monochrome or a high- resolution EGA text display to the other monitor, though you must toggle back to re- sume your work on the display from which you started. Notes: 1. DOORS.COM may not work with "compatibles" that do not use the same keyboard interrupt structure as the PC. Further, as with all memory-resident software, it may not be compatible with all programs. 2. Requires DOS 2.0 or later. Page -13- DOS-EDIT Charles Petzold Command No. 9 ______________________________________________________ Purpose: Permits moving to, editing, and reentering on-screen DOS commands without retyping. Format: DOS-EDIT (loads memory-resident program) then (enables DOS-Edit keys) (cursor left) (cursor right) (cursor up) (cursor down) (destructive backspace) (insert/overwrite toggle) (delete character) (delete to end of line) (cursor to column 1) (cursor to initial column #) (exit edit mode, no changes) (transfer text line right of cursor to end of original line) (like , plus execute command) Remarks: When loaded, normally through your AUTOEXEC.BAT file, an initial Up Arrow keypress activates the DOS-EDIT mode. (Thereafter, the Up Arrow functions as a normal cursor arrow key.) If you move the cursor down to the original line, you will leave the DOS-EDIT mode (e.g., the Left Arrow key will once again delete characters). Example: A typical use of DOS-EDIT is to correct a long command line in which you made a typing error. Simply move the cursor up to the mis- typed line, correct the mistake (using the appropriate keys listed under FORMAT), press Home (to position the cursor to pick up the whole of the line), then Enter. A less obvious example occurs if you have just done a DIR listing and want to run a program. Move the cursor up and just to the right of the program name. Press PgDn to delete the extension and the rest of the line, PgUp to position the cursor to pick up the whole command name, then Enter. Note: 1. DOS-EDIT is a memory-resident program, and so may cause conflicts with some other memory-resident software programs. Such problems can frequently be solved by changing the order in which the several memory-resident programs are loaded. DOS-EDIT should be loaded before ASSIGN.COM and before SideKick, for example. Page -14- FREE Art Merrill Command No. 10 ______________________________________________________ Purpose: FREE.COM reports the number of unallocated bytes on a floppy or hard disk. Format: FREE [d:] Remarks: FREE is in many respects a companion program to SIZE.COM: the latter tells you how much storage space you must have to make your copies, the former tells you how much you do have. The information provided by FREE.COM is, of course, available with the DOS commands CHKDSK and DIR. Where a large group of files is involved, however, the DOS commands are very slow in operation; FREE is almost instantaneous. Notes: 1. Requires DOS 2.0 or later. Page -15- KEEPER Steven Holzner Command No. 11 ______________________________________________________ Purpose: Stores and displays the last ten commands entered for immediate reexecution without retyping. Format: KEEPER (loads memory-resident program) (toggles window display) Remarks: KEEPER can store command lines of up to 50 characters each in length. After loading, normally via your AUTOEXEC.BAT file, and pressing Ctrl-N (the default trigger key; see Option 1), the last 10 command lines are shown in a window in the upper right-hand corner of the display. If you wish to execute one of the commands shown, move to its line with the Up Arrow and Down Arrow keys; the line currently selected blinks. Pressing Ctrl-N again will reissue a blinking command or, if no stored command line has been selected, will return the display to normal. Notes: 1. KEEPER is not compatible with a number of application programs (e.g., XyWrite) that take over the keyboard interrupts. Option 1: The default trigger key is Ctrl-N. Should this be inconvenient, you can use the KEEPER.BAS program to recreate KEEPER.COM with a different trigger key. From the DOS prompt simply enter BASIC KEEPER and the program will prompt you for your choice of trigger key. After the KEEPER.COM file is created in this way, it is a regular DOS command and is not run under BASIC. Page -16- KEY-FAKE Charles Petzold Command No. 12 ______________________________________________________ Purpose: Supplies the series of keystrokes needed to initialize an application program on boot-up. Format: KEY-FAKE ["xyz"] [nn] [0] [@F] Programname Characters typed within a pair of single or double quotes ("xyz") are normal ASCII- character keystrokes. Numbers (nn) not in quote marks are ASCII decimal codes, e.g., 13 (Enter), 26 (Ctrl-Z), or 27 (Esc). Numbers preceded by @ are the extended ASCII decimal codes (128 through 255) generated by the Alt keys, cursor keys, Ins and Del keys, and the Function keys (e.g., @61 is the F3 keystroke). The 0 is used with programs that check the keyboard buffer (it tells such programs the buffer is clear, so the programs will treat the succeeding keystroke separately). Remarks: KEY-FAKE is of greatest use in batch files used to call up application programs. For example, to enter Lotus's 1-2-3 and set it for File Retrieve, the following .BAT file would be appropriate: CD \LOTUS KEY-FAKE 0 13 0 13 0 13 0 13 0 13 "/FR" LOTUS This takes you past the necessary initial carriage returns and /FR command without having to type them in each time. Similarly, if each time you enter BASICA you want to have a blue border, blue background, and yellow letters, you would create a batch file, B.BAT, containing the lines KEY-FAKE "COLOR 14,1,1" 13 "CLS" 13 BASICA Notes: 1. The keystroke sequence stored by KEY- FAKE is limited to 124 characters and must be on one continuous command line. Keystrokes not supported by PC BIOS (e.g., Alt-Home) cannot be stored. 2. Programs such as XyWrite II that get keyboard information directly from the hardware keyboard interrupt will bypass KEY-FAKE. KEY-FAKE will also not work well when you are on-line using a communications program. Page -17- 3. KEY-FAKE is memory resident, but can be executed multiple times in the same session without reloading. However, if nested batch files cause it to be re- invoked before its initially stored keystroke sequence has been exhausted, the remaining initial keystrokes will be lost. Page -18- LOCATE Steven Holzner Command No. 13 ______________________________________________________ Purpose: Searches all files in the current and the root directories of a drive for all occurrences of any specified sequence (e.g., a word or phrase) of up to 20 ASCII characters. Additional search paths and/or drives may be specified by using Option 1. Format: LOCATE searchstring Remarks: In addition to returning the path(s) and filename(s) of the file(s) in which the requested string is found, LOCATE puts searchstring into a context of up to 20 immediately surrounding characters. LOCATE.COM is case sensitive; the string to be found must be typed exactly. The program does, however, strip "high-order" (non-ASCII) bits from searchstring, so it can be used, for example with WordStar document files. Note: 1. Requires the use of DOS 2.0 or later. Option 1: Normally, if LOCATE does not find the requested string either in the current directory or in the disk's root directory, it simply exits. It does not automatically search every subdirectory on every drive. You can extend the search range, however, by preparing a simple ASCII file that specifies additional paths and/or drives. The name of this file must be PATH.DAT, and it must be located in the root directory (usually C:\ for hard disks, A:\ for floppies). An example of such a PATH.DAT file would be \WORK \LEVEL1 \A: Each line in the PATH.DAT file must end with a carriage return and specifies an additional path (or drive) for LOCATE to check before it exits. The PATH.DAT file can be up to 300 bytes in length, and incorrectly specified entries are ignored. The use of Option 1 will, of course, slow down the overall speed of the search. Page -19- LOCK (and UNLOCK) Steven Holzner Commands No. 14 ______________________________________________________ Purpose: Encrypts a file, rendering it unreadable to anyone who does not know the user-chosen passphrase. Complementarily, using the same passphrase, de-encrypts the file. Format: LOCK [d:][path]filename[.ext] [d:][path] [filename][.ext] or UNLOCK [d:][path]filename[.ext] [d:][path] [filename][.ext] Remarks: The user-selected passphrase can be up to 64 characters in length; the programs prompt you to supply it. Files to be LOCKed and UNLOCKed must be less than 62K in length. If you do not supply new filenames for the locked and unlocked files, the programs use the default filename FILE.LOC. Example: You have a file of student course evaluations named CONFY on drive C: that you wish to mail to a colleague in encrypted form. You put a formatted floppy disk in drive A:, and at the C> prompt you enter LOCK CONFY A:CRIMSON When the program asks for a passphrase, you enter VERITAS. The CRIMSON file on the disk will be unreadable. When your colleague--who must, of course, be told the passphrase you have used--puts the disk in his machine, he types UNLOCK CRIMSON GUIDE When prompted, he supplies the passphrase VERITAS, and his file GUIDE will be identical to your original file CONFY. Notes: 1. LOCK and UNLOCK do not delete any files, original or encoded. 2. Requires DOS version 2.0 or later. Page -20- LPTPORT John Dickinson Command No. 15 _______________________________________________________ Purpose: Permits alternate use of two parallel printers (e.g., letter- and draft-quality units) with software that is normally limited to using LPT1:. Format: LPTPORT Remarks: Certain software, e.g., the PC-DOS Shift- PrtSc routine, does not recognize a command such as A>MODE LPT1:=LPT2: To use such software with two different printers normally requires changing physical connections. LPTPORT.COM provides a software toggle that interchanges the internal DOS I/O addresses of LPT1: and LPT2:. After entering the LPTPORT command, a second printer, connected to LPT2:, will receive program output nominally directed to LPT1:. Entering the LPTPORT command a second time restores the original port assignments. Notes: 1. Certain internal print-spooling programs, such as those supplied with add-on memory board cards, read the port address assignments at boot-up time and do not thereafter look at the low-memory area of DOS to find them. With such programs you will have to run LPTPORT before the print spoolers are loaded in order to change the effective port assignments. Page -21- MONOGRAF.DRV Charles Petzold Lotus's 1-2-3 (Version 1A) driver No. 16 ______________________________________________________ Purpose: Displays 1-2-3 bar and stacked-bar graphs on a monochrome monitor. Format: COPY MONOGRAF.DRV [drive:][path] GD.DRV Note: the [drive:] and [path] above refer to your Lotus system disk or subdirectory path. Note also: When using MONOGRAF, specify Color, not Black-and-White, from the 1-2-3 graph options menu. Remarks: Displaying the numbers in a 1-2-3 worksheet in graph form normally requires using either a color/graphics adaptor (CGA) and monitor or--for users who have only a monochrome system--the use of a Hercules (or equivalent) card. MONOGRAF.DRV is installed in 1-2-3 just as if it were a Lotus-supplied GD (graphics driver) program. Notes: 1. MONOGRAF can display only bar or stacked-bar graphs. 2. To display graphs, use Function key 10, as the Lotus manual directs. Use this key only in the Worksheet mode, not in conjunction with the 1-2-3 PrintGraph program. You can, however, use Shift- PrtSc to print out the screen display on any printer that can handle the IBM text-graphics character set. Page -22- MOVE Steven Holzner Command No. 17 ______________________________________________________ Purpose: Allows rapid selection and copying of files to or from a double-sided floppy disk, a RAMdisk, or the current subdirectory of a hard disk. Format: MOVE [d:]filename[.ext] d: Remarks: MOVE.COM was written to be compatible with all versions of PC-DOS (including 1.1), and so does not support pathnames. Example: When you enter a command such as MOVE A:*.BAS B: each filename on the root (or current) directory of drive A: that has a .BAS extension will be displayed in the form Copy filename.BAS (Y/N)? If you strike Y, the file will immediately be copied to drive B: and the next appropriate filename will be displayed. If you strike N, the file will not be copied, and the next appropriate filename will be presented. The program terminates with a simple return to the DOS prompt when no appropriate files remain to be considered. Page -23- NO Charles Petzold Command No. 18 ______________________________________________________ Purpose: Excludes specified files in a subdirectory from the action of a command. Format: NO filespec Command [parameter] Remarks: NO.COM is designed for situations in which you want to apply a command such as DELete or COPY to all the files in a directory except one or two (or a class of) files. For example, NO *.BAS COPY *.* A: copies all the files in your current subdirectory to drive A: except for those that have a .BAS extension. To exclude more than one file (or category) you must use a separate NO command for each on the command line. Thus, NO *.ASM NO *.COM DEL *.* deletes all files in the current directory except those with .ASM or .COM extensions. Notes: 1. NO.COM should not be used in conjunction with the PC-DOS BACKUP and RESTORE commands. This is because NO operates by temporarily setting the "hidden" file attribute bit on the files to be excluded from the main command, then unhiding the files after the main command has been executed. Since the DOS BACKUP/RESTORE operation acts on hidden and unhidden files alike, NO.COM cannot be used to exclude files from BACKUP/RESTORE. RESTORE, indeed, will restore the supposedly excluded files as hidden, overwriting the originals. 2. While NO.COM provides full path support (and so requires the use of DOS 2.0 or later), it is a good policy when using NO to use CHDIR to make the directory that contains the files on which you wish to operate the current directory. For example, suppose you are in your root directory, one of whose subdirec- tories is \BASIC. If you were to enter the command NO *.BAS DEL \BASIC\*.* Page -24- you would not delete all the files in the \BASIC subdirectory except those with a .BAS extension, as you might have intended to do. To do this from the root directory you would have had to enter NO \BASIC\*.BAS DEL \BASIC\*.* This complete filespec would tell NO that it had to protect files in the \BASIC, not in the current (i.e., root) directory. If you follow our recommendation and enter CD \BASIC NO *.BAS DEL *.* thus making \BASIC your current directory before you start deleting, you will then clean out all but the .BAS files, just as you intended. 3. Should a parity check error, power outage, or system crash occur during the brief period between the times NO hides and subsequently unhides the protected files, those files will subsequently seem to have disappeared. They are not lost; only hidden from a DIR listing. Use ATTR.COM (included in this set of utilities) to change their hidden status. Page -25- NPAD (Notepad) Steven Holzner Command No. 19 ______________________________________________________ Purpose: Creates an on-screen window in which to keep notes while working in other programs. Format: NPAD (loads memory-resident program) (toggles notepad on/off) Remarks: The NPAD notepad holds 10 lines of 25 characters each. The window is toggled on and off in the upper right corner of the screen. Toggling the window off does not eliminate its contents, but pressing the Delete key while the window is on-screen does. Single characters may be deleted with the backspace, and the carriage return is also recognized. No provision for storing the contents of the notepad as a file are available, however. Option 1: NPAD.COM can be modified by using DEBUG. The ASCII and scan codes for the default trigger key (Ctrl-N) are 0Eh and 31h, respectively, and are located at the offset addresses xxxx:0336 and xxxx:0337. To change these to use the reverse apostrophe (grave accent), you would enter DEBUG NPAD.COM and -E 336 DEBUG will respond with xxxx:0336 0E. and you simply type in the new ASCII code, in this case, 60 (the hex value of decimal 96). After entering E 337 and getting the response xxxx:0337 31. you type in the new scan code 29 (41 decimal) for the grave accent. Other ASCII and scan codes are given in the BASIC and in the DOS Technical Reference manuals. The two locations to examine and change for the NPAD colors are 02FF and 0413, which have a default value of 70h (112 decimal). On a color monitor this produces a white (7) background with black (0) characters. For red letters on white you would change the 70h to 74h (116 decimal) at these two locations. Page -26- The colors to which NPAD resets its portion of the screen on exit are set by the value at xxxx:0350h. The default value is 07 (white characters on a black background). For white letters on a dark blue background, change the 07 to 17h (23 decimal); for dark blue letters on white, use 71h (113 decimal) at this location. When you have made the changes you want, at the DEBUG hyphen prompt enter W and then Q. Notes: 1. NPAD is a memory-resident program that must scan the keyboard interrupts. It will conflict with applications programs (e.g., XyWrite) that themselves commandeer the keyboard interrupts. Page -27- ONEKEY Steven Holzner Command (after running .BAS version) No. 20 ______________________________________________________ Purpose: Reassigns a designated series of keystrokes to a user-selected keystroke. Format: ONEKEY Remarks: ONEKEY is a memory-resident keyboard macro program. While written in assembly language, it is presented here with a BASIC interface that need be run only once, but which facilitates entering the trigger keys you want to use and the sequences of keystrokes they will replace. ONEKEY will accept up to 30 different trigger keys, each of which will replace up to 50 keystrokes. When you load and run ONEKEY.BAS in BASIC, you will prompted to "Type the key to be replaced." This will be a key you use as a trigger: Ctrl-N, Alt-Z, F1, or the like. When you enter this key, you will be prompted, "The command that replaces this key is." Here you enter the string of keystrokes the selected trigger key will execute. Remember to include all necessary carriage returns, spaces, and control characters, just as you would enter them at the keyboard. When you type Ctrl-End (not a carriage return) to terminate this sequence, you'll be prompted for the next trigger key, and so on. When you have typed in as many macros as you want, type Ctrl-End when asked for a trigger key. It takes BASIC about half a minute to create the ONEKEY.COM file. Once created, ONEKEY is a regular DOS command; you enter it at the DOS prompt (or as a line in your AUTOEXEC.BAT file), not from BASIC. Notes: 1. Memory-resident utilities such as ONEKEY are often incompatible with programs (XyWrite is one) that themselves take over the keyboard interrupts. You must simply experiment to see if ONEKEY can be used with your software. 2. Requires DOS 2.0 or later. Page -28- PR (Print) John Dickinson Command No. 21 ______________________________________________________ Purpose: Prints the standard ASCII files of program listings according to a standard formatted style. Format: PR [d:][path]filename[.ext] Remarks: PR.COM formats the program listing into 80 columns, expands ASCII tabs, adds a seven- line header and a blank footer, and prints 55 lines of the listing on each 66-line page. The header contains the filename, page number, and date and time the program was last saved. Notes: 1. The listings photoreproduced in PC Magazine's Programming/Utilities column are printed using PR.COM. 2. Requires use of DOS 2.0 or later. Page -29- PRSWAP John Dickinson Command No. 22 ______________________________________________________ Purpose: Converts IBM text-graphics characters into ASCII characters that can be printed by non- graphics printers. Format: PRSWAP Remarks: The IBM text-graphics characters (non- standard ASCII 176-223 and 254) programmers often use to make their screen displays look more attractive cannot be handled by many printers. PRSWAP.COM is a memory-resident program that translates these characters into presentable-looking ASCII substitutes. PRSWAP should be loaded only once until you power down or hit Ctrl-Alt-Del. If you intend to use it regularly, the best place to put it is in your AUTOEXEC.BAT file. Page -30- PUSHDIR (and POPDIR) John Friend Commands No. 23 ______________________________________________________ Purpose: Provides a way to return automatically to your current directory after running programs that require directory changing. Format: PUSHDIR [CD \AltDir\ProgName] POPDIR Remarks: While PUSHDIR and POPDIR can be entered directly from the DOS prompt, their primary application is in batch files. For example, suppose you create a file named 12.BAT that consists of the following four lines: PUSHDIR CD\LOTUS 123 POPDIR Suppose also that 12.BAT, PUSHDIR.COM, and POPDIR.COM are either in your root directory or in a subdirectory on the PATH specified in your AUTOEXEC.BAT file. Assume, finally, that you are currently in your word processing subdirectory (\WP), but need some information from a 1-2-3 spreadsheet. If you now enter 12 from the DOS prompt, PUSHDIR stores the \WP (your current directory) on its stack and DOS changes to the \LOTUS subdirectory and runs 1-2-3. When you exit from 1-2-3, you would normally be left in the \LOTUS subdirectory. A DOS CD command in 12.BAT after the 123 line could return you to a specified directory every time you terminated 1-2-3, of course. But POPDIR returns you to whatever subdirectory you were in when you invoked 1- 2-3--in this case, to your \WP subdirectory. PUSHDIR can accommodate up to six levels of directories on its stack, permitting considerable programming flexibility in constructing batch files. Notes: 1. PUSHDIR and POPDIR require DOS 2.0 or later. Page -31- QUICKEYS Leo Forrest Command No. 24 ______________________________________________________ Purpose: Accelerates the "typematic" repeat rate of a PC or XT keyboard. A built-in subprogram is included that instantly clears the keyboard buffer to prevent sending excess accumulated keystrokes to the display. Format: QUICKEYS (loads memory-resident program) (clears keyboard buffer) Remarks: While the keystroke repetition rate of the PC AT is adjustable, that of the XT and the PC is fixed at approximately nine keystrokes per second. When QUICKEYS is loaded (normally through your AUTOEXEC.BAT file), the repetition speed is approximately doubled. Successive loadings of QUICKEYS (each requires about 672 bytes of memory) can be used to increase the keyboard speed still further, if desired. Notes: 1. QUICKEYS is a memory-resident program that inserts itself both into the timer tick and keyboard interrupt routines. It is not compatible with some other memory-resident software and with programs that appropriate the keyboard interrupts. Page -32- RED (Redirect) John Dickinson Command No. 25 _______________________________________________________ Purpose: Transfers one (or more) file(s) from one subdirectory to another without requiring the use of COPY and ERASE. Format: RED [d:][path]filename[.ext] [d:][path] Remarks: Like the DOS COPY command, RED.COM supports the use of the global characters ? and * in specifying the desired source files. Unlike COPY, however, RED.COM does not permit renaming a file during the transfer process. (This is why it is unnecessary to supply a target filename.) Furthermore, RED requires that the source and target drives be the same. You cannot, therefore, remove a set of files from drive C: by trying to REDirect them to drive A:. Example: Before submitting your income tax you calculated it under several different methods, contained in files named ROUGH1.DAT through ROUGH6.WKS. These are all in the subdirectory \IRS on drive C:, and you want to move them all to a sub-subdirectory (which you have created) called \1985TAX\DRAFTS. From the C> prompt enter \IRS\ROUGH?.* \1985TAX\DRAFTS and all six files will be moved out of \IRS and into \1985\DRAFTS. Note: 1. Requires DOS 2.0 or later. Page -33- RENDIR (Rename Directory) John Dickinson Command No. 26 ______________________________________________________ Purpose: Permits renaming subdirectories directly, without creating a new directory, moving the contents of the old one into it, and then removing the old directory. Format: RENDIR [d:][path]oldname[.ext] newname[.ext] Remarks: PC-DOS has always provided a REName command for filenames, but not for directories. A bug in DOS 3.0 permits you to use the immediate mode of BASIC to NAME olddir AS newdir but this bug has been removed from subsequent DOS versions. RENDIR.COM permits renaming directories in DOS 3.0 and later. While RENDIR allows you to change the name of a directory on another drive than your current one, it does not permit you to transfer a directory to another drive by RENDIRing it. Thus, for example, if you are on drive C: and have a directory on drive D: named \TAXES, from the C> prompt you can RENDIR D:\TAXES \TAXES85 You cannot, however RENDIR D:\TAXES C:\TAXES85 Furthermore, you should not use RENDIR to try to change the name of the subdirectory you are currently in. Notes: 1. Unlike RENAME, RENDIR does not support use of the ? and * wildcard characters. 2. Requires DOS 3.0 or higher. Page -34- SETUP Jeff Prosise Command No. 27 ______________________________________________________ Purpose: Permits menu-oriented selection and immediate transmission of printer control codes from within a running application program. Format: SETUP (loads command into memory) (activates menu) <[Shift] (selects [deselects] mode) (activates selection(s) and returns to application program) Fx is a Function key (F1 through F10) that sends the required control sequence to the printer. Shift-Fx toggles the selected printer mode off. Remarks: After loading SETUP (normally via your AUTOEXEC.BAT file), the printer mode selection menu program is displayed by pressing the Ctrl-Right Shift key combination. This can be done from within application programs that do not take over the keyboard interrupts; the application is simply suspended until you leave SETUP by pressing the Esc key. (Application programs such as XyWrite III that do take over the keyboard interrupts can be used with SETUP.COM if they themselves provide the option of temporarily returning to DOS control.) Printer permitting, more than one mode can be selected at once by pressing additional function keys. The default printer choices are for the Epson RX/FX series. Option 1 shows how to modify the program for other printers. Notes: 1. SETUP.COM is a memory-resident program (approximately 3K in length), and so is subject to conflicts with other memory- resident software. Several users have reported that it is incompatible with Prokey, for example. Similarly, while SETUP.COM is compatible with SideKick, the combination of SuperKey and SideKick has been reported to be incompatible. Option 1: If you have access to an IBM or Microsoft macro assembler, the easiest way to modify SETUP for other printers (or to use LPT2: or LPT3: instead of LPT1:) is to call up the SETUP.ASM file (included with these utilities) in any ASCII word processor. You can then make your modifications and reassemble the file. Page -35- Even if you do not have a macro assembler and must therefore use DEBUG.COM to modify SETUP.COM directly, print out and read the SETUP.ASM file. It is heavily commented, and will give you a good idea of how the different menu strings and printer control strings are organized. Note, however, that the specific values shown in SETUP.ASM are in decimal notation; values entered via DEBUG must be in hexadecimal notation. The following offset addresses, not those originally published in PC Magazine, should be used: The menu color attributes (4F and 70) are at offsets xxxx:013F and xxxx:0140. To change the port number from LPT1: to LPT2: (or LPT3:) change the default 00 at xxxx:0C7A and at xxxx:0C84 to 01 (or 02). The start of the menu text table (532 bytes, beginning with C9) is at offset xxxx:0151. The "P" in PRINTER SETUP MENU" is at xxxx:0172. The printer control strings themselves begin at xxxx:09A1. Each function key (and each shifted function key, with the exception of F19 and F20) can be assigned a string up to 16 bytes long. Each string must include a delimiter of FF (255 decimal) that marks the end of the string. The beginning of the string for each successive function key starts at an address that is a multiple of 16 bytes above the base address (xxxx:09A1) of the table. You must pad the strings with zeros for any locations that are not used by actual control codes, so that each string begins on a 16-byte boundary. Page -36- SIZE (and ATSIZE) Art Merrill Command(s) No. 28 ______________________________________________________ Purpose: Calculates the storage requirements of a file or group of files, based on the number of DOS clusters necessary to make floppy disk and hard disk copies. Format: SIZE [d:] (all files, default directory) or SIZE [d:][path]filename[.ext] Remarks: DOS stores files in fixed-length allocation units called "clusters." For floppy disks, the cluster size is 1024 bytes (two 512-byte sectors); for the PC and XT 10-Mb hard disk the cluster size is 4084 bytes. On such a hard disk, whether a file is one byte or 4Kb in actual length (as reported by DIR), it requires the same amount (one cluster) of storage space. The PC AT's 20-Mb hard disk is less wasteful in handling small files; its minimum set-aside (cluster size) is 2048 bytes. AT users should use ATSIZE.COM. Entered without parameters, SIZE (or ATSIZE) returns the number of bytes used by all files in the current directory, the amount of space required to copy them to a standard (360K) floppy disk, and the amount of space required for hard disk storage. Entering B:SIZE returns the same information for a disk in drive B:. Pathnames and wildcards are supported, so you could enter SIZE \PROG\*.COM to learn the number of .COM files, their total size and storage requirements, contained in your \PROG subdirectory. Notes: 1. Requires DOS 2.0 or later. Page -37- SNAPSHOT Steven Holzner Command (after running .BAS version) No. 29 ______________________________________________________ Purpose: Saves your current screen and up to three additional prefabricated screens for immediate display without leaving an application program. Format: SNAPSHOT (loads memory-resident program) (stores current screen) (displays stored screen) (displays screen A.DAT) (displays screen B.DAT) (displays screen C.DAT) Remarks: SNAPSHOT is a memory-resident utility that is incompatible with programs (such as XyWrite) that take control of the keyboard interrupts. While written in assembly languge, it is presented here with a BASIC interface that need be run only once, but which facilitates entering the trigger keys you will use to store the current screen, recall it, and to recall up to three screens you can prepare with an ASCII word processor and store under the filenames A.DAT, B.DAT, and C.DAT. When you load and run SNAPSHOT.BAS under BASIC you will be prompted for the required key selections. Thereafter the program will create SNAPSHOT.COM (it takes about two minutes), which is a regular DOS command. Option 1: If your regular word processor is WordStar, before running SNAPSHOT.BAS you should edit it as follows: 1. In line 30, change the checksum shown from 51461 to 51462. 2. In line 430, change the third number (just to the left of the -2) from 0 to 1. The purpose of these changes is to provide a "stripper" function so that WordStar files will be readable from other applications. Page -38- STATLINE John Socha Command No. 30 ______________________________________________________ Purpose: Displays 26th-line status indicators for the NumLock, CapsLock, and ScrollLock toggle keys on IBM monochrome, CGA, and Compaq monitors. Format: STATLINE (loads memory-resident program) Remarks: STATLINE converts the normal 25-line text mode display into 26 lines, using the additional line to show a # sign for NumLock, an up arrow for CapsLock, and a double- pointed arrow for ScrollLock. On a monochrome display, where insufficient memory is available for a full 26th line, two-thirds of that line is used by STATLINE; the remainder echoes the first portion of the top line of the regular display. This utility is not compatible with the IBM enhanced graphics adapter (EGA) and is best suited for use with the color graphics adapter (CGA) and with Compaq displays. Notes: 1. STATLINE is a memory-resident utility and is known to be incompatible with a number of keyboard macro programs. Assembly language programmers will be particularly interested in the extensive discussion of the problems of co- residency contained in the original article (PC Magazine, Volume 5 Number 13), and in the .ASM listing that shows how to reprogram the 6845 video controller. Page -39- SWEEP Charles Petzold Command No. 31 ______________________________________________________ Purpose: Causes a command to be successively executed in every subdirectory on a hard disk. Format: SWEEP Command [parameter(s)] Remarks: SWEEP starts from the current directory. In order to use SWEEP to extend the range of a command to all the subdirectories on a disk, use CD (if necessary) to make the root directory your current directory. From the root directory, the command SWEEP DIR will display the listings, by subdirectory, of every non-hidden file on the disk. To erase all the .BAK files on a disk you need only get into the root directory and issue the command SWEEP DEL *.BAK SWEEP itself will not accept parameters other than its command. Thus, if you are on drive C: and wish a directory of all files on drive D: to be sent to your printer, you must first make drive D: the current drive before you issue the command SWEEP DIR > LPT1 (In this case you would either need a copy of SWEEP.COM on drive D: or else drive D: would have to be listed on your PATH.) SWEEP can execute .BAT file commands (and even non-DOS commands, such as LOCATE.COM). A useful file called CLEAN.BAT might consist of the three lines DEL *.BAK DEL *.TMP DEL *.OBJ From the root directory, if you then enter SWEEP CLEAN all .BAK, .TMP, and .OBJ files will be erased from the disk. Notes: 1. Requires DOS 2.0 or later. Page -40- UNDEL (Undelete) Steven Holzner Command No.32 ______________________________________________________ Purpose: Recovers files on double-sided floppy disks that have been accidentally deleted. Format: UNDEL [d:]filename[.ext] Remarks: Unless special measures are taken, DOS does not overwrite the contents of a file when it deletes the file. Rather, DOS simply changes the first letter of the filename to E5 in its directory table and unassigns the second (and subsequent) clusters for the file from its file allocation table. When no files have been subsequently stored to disk that would use the deallocated clusters, the deleted file can usually be recovered intact by UNDEL.COM. As an aid to recovery of ASCII files, the UNDEL command may be given as UNDEL/A [d:]filename[.ext] The /A parameter is designed to provide a display of each proposed cluster to be recovered before it is actually included in the undeleted file. With late versions of PC-DOS, however, the use of the /A parameter has been found to return the error message, "File Not Found Deleted". In such cases, entering UNDEL without the added parameter is normally sufficient to recover the complete file without loss. Notes: 1. UNDEL should not be used on 8-sector disks (such as the distribution copy of this disk), but only on 9-sector, double-sided floppies. 2. Requires the use of DOS 2.0 or later, but the command does not recognize pathnames. Page -41- VTREE (Visual Tree) Charles Petzold Command No. 33 ______________________________________________________ Purpose: Provides a visual representation of the tree- structured subdirectories on a hard or floppy disk. Format: VTREE [d:] Remarks: VTREE can display up to the full DOS limit of 32 levels of nested subdirectories. Its output may be redirected to a printer, but it employs IBM "text-graphics" characters that many printers cannot properly handle. With such printers, run PRSWAP.COM (included in these utilities) before VTREE. Notes: 1. Requires DOS 2.0 or later. Page -42- WAITASEC (and SCROLL) Charles Petzold Command(s) No. 34 ______________________________________________________ Purpose: Uses the single-keystroke ScrollLock key to halt a fast-scrolling display; then allows you to scroll backwards, recalling previous screens. Format: WAITASEC (loads memory-resident program) (activates command) Remarks: WAITASEC is a memory-resident program that is normally loaded through your AUTOEXEC.BAT file. Thereafter, alternately pressing and releasing the ScrollLock key will halt and restart a scrolling display, e.g., a lengthy DIR listing. While holding down the ScrollLock key to freeze the display, if you also press one of the cursor movement keys (Home, Up Arrow, PgUp, End, Down Arrow, or PgDn), the display will not resume scrolling when you release the ScrollLock key. Thereafter, the Up and Down arrow keys move the display by one line, the PgUp and PgDown move it by 25 lines, and the Home and End keys take you to the beginning and end of the stored screen memory. Pressing any non cursor key at this point deactivates the stored mode, and the original scrolling resumes. Notes: 1. WAITASEC will not work with an 80-column color/graphics display if an unmodified PC-DOS ANSI.SYS has been loaded. (The ANSI.SYS that comes with various versions of MS-DOS does not cause problems with WAITASEC.) To run with IBM's ANSI.SYS, make a copy (MODANSI.SYS) of the original ANSI.SYS and use DEBUG to patch the copy as follows: DEBUG MODANSI.SYS E 29D 90 90 E 2A1 90 90 W Q Put the modified MODANSI.SYS in your CONFIG.SYS file in place of ANSI.SYS. Page -43- 2. Because of the way they handle TTY output, certain EGA cards will not permit WAITASEC to scroll backwards. This problem can often be cured by adding MODANSI.SYS, as above. 3. WAITASEC does not save your current display screen. To save your current display, before beginning a scroll, enter the complementary SCROLL command, and everything on the screen will scroll off the top and be captured in the WAITASEC buffer. 4. While WAITASEC has been found compatible with XyWrite III (XYKBD.COM loaded) on a PC AT, as with other memory-resident programs, unforeseen hardware and software incompatibilities may be encountered. Page -44- WHERE (File Locator) Kiyoshi Akima Command No. 35 ______________________________________________________ Purpose: Searches all directories on a particular drive and lists the paths of entries that match the specified filename. Format: [d:][path]WHERE [filename[.ext]] Remarks: WHERE uses normal DOS filename specifications to locate files. Omitting a filename and extension after the command defaults to WHERE *.* and will list all non-hidden files on your disk. Example: The command WHERE *.BAT will find all your batch files. WHERE MO*.* would uncover MODE.COM and MORE.COM and any other filename that begin with MO. Notes: 1. Although submitted to us by Mr. Akima, this program has its roots in one originally written by John Socha. Page -45- XDEL Ronald Czapala Command No. 36 ______________________________________________________ Purpose: Successively presents each filename in your current directory for single-keystroke file deletion or retention. Format: XDEL [d:][file.ext] Remarks: If no parameters are specified with XDEL, the default filename *.* is used. Both the global characters ? and * may be used in selecting the files to be presented. The program produces an on-screen menu of keystroke choices, as follows: - deletes current file displayed - skips current file displayed - restarts file display - returns to DOS Note: 1. Although XDEL.COM requires DOS 2.0 or later, you must use CHDIR (CD) if necessary to make a subdirectory your current directory. Page -46-