<²±Û²±°±°±±±±±±±²±±°°Ü Ü°°±±²±±±±±±±°±°±²Û±²> ßßßßßßßßßßßßßßßßßßÛ²±°Ü Ü°±²Ûßßßßßßßßßßßßßßßßßß ßßß±°Ü · Ö ÖÄ· ·Ä· Ü°±ßßßß ß°ùùº Ò º ÓÄ· ÇĶùù°ß °ùÓÄÐĽ ÓĽ ½Ä½ù° ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ C O M M U N I C A T I O N S ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ >ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ< dwCopy,dwDT,dwKey,dwMove,dwPrime,tas10,tas922 (C) 1992, 1993 william burlew >ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ<   [i]. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ DWPROGS v1.01 08/07/1993 This is an update to DWPROGS v1.0. Some suggestions were made and they have been implemented as follows: DWDT.EXE: 1). There is only one entry field for filename and switches. 2). Entry field now allows . 3). Pressing F10 now accepts the entry. 4). From the command line a help screen can be displayed. 5). The file list can now be removed from memory during program execution. removed 6). Clock from calendar window. DWCOPY.EXE & DWMOVE.EXE: 1). Error checking for invalid [source] filename and [destination] filename has been improved. INIT.BAT: 1). Will now compensate for the existence of [\DW] directory. See the program(s) descriptions beginning on page of [2]. Spelling has improved. Billing method from Compuserve had to be changed, therefore a new ID was issued and is listed. If anyone experienced any problems, I apologize. * * * Files contained in DWPROG11.ZIP * * * 1). BW.COM 2). DESCRIER.TXT 3). DWCOPY.EXE 4). DWDT.EXE 5). DWKEY.EXE 6). DWMOVE.EXE 7). DWPRIME.EXE 8). INIT.BAT 9). REGISTER.FRM * * * * * * * * * * * * * * * * *   [0]. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ CONTENTS Copyright Notice ..................................................... [ 1] Program Descriptions ................................................. [ 2] How to patch Command.Com ............................................. [ 5] Debug commands to use ................................................ [ 6] Examples for patching ................................................ [ 7] DOS version 5.0 ................................................ [ 7] DOS version 4.0 ................................................ [ 8] DOS version 3.3 ................................................ [ 9] New CompuServe ID .................................................... [10]   [1]. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ================== Copyright NOTICE ================== The programs, ['dwMove', dwCopy', 'dwDT', 'dwPrime', and 'dwKey'] are protected by the United States copyright law. Copying this software for use other than a backup for a trial period is prohibited. These programs do require a registration fee if you find the program(s) of use and do use them after a reasonable trial period of (45) days. See the 'Register.Doc' file please. ================== Acknowledgements ================== þ Turbo Pascal is a registered trademark of Borland International. þ IBM is a registered trademark of International Business Machines. þ CompuServe is a registered trademark of CompuServe Information Services, Inc. þ MS-DOS is a registered trademark of Microsoft Corporation. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ============ DISCLAIMER ============ For the disclaimer of warranty for the above mentioned programs, they are distributed as is. I, william burlew, (hereafter referred to as 'the author') disclaims all warranties, expressed or implied, including without limitation, any warranties of merchantability and/or fitness for a particular purpose. The author shall not be liable for any damages, whether direct, indirect, special, or consequential arising from a failure of these programs to operate in the manner desired by the user. The author shall not be liable for any damage to data or property which may be caused directly or indirectly by use of these programs.   [2]. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ============= DESCRIPTION - quick & simple ============= *** All programs require MS-DOS v3.3 or greater. 0). Init.Bat Used to copy the program files from a floppy diskette to the hard drive. It assumes [drive A:] as the source drive and [drive C:] as the target drive. You may change these defaults by assigning a different source drive and target [drive\dir] to the variables; set SDRV=A: change [A:] to your choice for [source] drive set TDRV=C: change [C:] to your choice for [target] drive set DWDIR=DW change [DW] to your choice for [directory] NOTE0: Ensure "BW.Com", "DWCopy.Exe" and "DWMove.Exe" are on the disk with "Init.Bat". NOTE1: These programs do not require "Init.Bat". Supplied only to help the user if the user copies the files to a floppy diskette to give to another user for a trial run. 1). DWPrime Nothing more than a prime number generator. All calculations are saved to a text file named 'Prime.Txt' by default on termination of the program if in fact there are results to save. You may save your results during execution after which those results will be removed from memory. If the range of integers to calculate runs out of available memory the program will terminate and save what results are in memory at that time to 'Prime.Txt'. If this occurs, there is no call to sort those results. They will be saved in descending order. NOTE0: For large ranges I do not recommend executing the program from a floppy due to the proportional growth in file size to results that will be saved. 'Prime.Txt' can grow rather large when calculating large ranges! Approximation: 23,400 integers to find prime can produce a file 'Prime.Txt' of 1.3Mb! This of course depends on your available memory which will be different from mine. 2). DWKey More of a programmer's utility to show the ASCII & xSCAN codes of keys pressed. Their decimal, hexadecimal, octal, and binary equivalents are displayed along with the status bytes of toggle keys pressed.   [3]. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ============= DESCRIPTION - continued ============= 3). DWMove [-/]? ...for syntax/help screen. A file(s) mover. If 'moving' file(s) to a floppy 'DWMove' will detect when & if the floppy is full and prompt you to insert another formatted diskette to continue 'moving' the file(s). Depending on the file(s) attributes some files will not be moved. 'DWMove' will notify you of this -> [access denied] and the 'move' process will continue. NOTE0: 'DWMove' makes no distinction if it is 'moving' files over file(s) of the same name so keep this in mind. NOTE1: redirection is allowed. 4). DWCopy [-/]? ...for syntax/help screen. A simple file(s) copier. Basically the same as 'DWMove' without deleting the source file(s). If copying to a floppy diskette it also will detect if your diskette is full and will prompt you to insert another formatted disk so the 'copying' process can continue. NOTE0: 'DWCopy' also makes no distinction if it is 'copying' file(s) over file(s) of the same name so keep this in mind. NOTE1: redirection is allowed here also. 5). DWDT [/?] for a help screen. Changes a file(s) date & time stamp. Maintains a list of the file(s) changed and of any file errors during the program's execution. This list can be viewed anytime or sent to your printer or removed from memory. It assumes your your printer is connected to [LPT1]. A calendar window was added so the user can view a calendar represent- ation of a given month and year: ( legal range for Month=[1..12] and Year=[1980..2099] ). At this time it doesn't perform any other function than to let the user view a calendar. A status line will be displayed with available function keys and their functions. There is only one input field that accepts the following parameters and their formats: [Filename] [/D Month/Day/Year] [/T Hour:Minutes:Seconds] [Filename] [/D 00/00/0000] [/T 00:00:00] You may press from the input field at anytime to escape your entry or press F10 to accept.   [4]. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ During execution F1 will display the following help window (shown below) and explains what is expected in the entry field and their valid ranges. You may also type: C:\>DWDT /? this will display some help text before actually beginning the program if you prefer. To begin DWDT type: C:\>DWDT -[HelpúF1]------------------------------------------------------------ The entry field accepts the following format: [Filename] [/D Month/Day/Year] [/T Hour:Minutes:Seconds] [Filename] consists of a valid [drive+colon], directory name and a valid filename. Wildcards are accepted. Example: C:\AUTOEXEC.BAT /D 01/01/1993 /T 11:00:00 [/D] Components of the date must be separated by a "/" and within the valid range for each component. Valid ranges are: Month = [1..12] Day = [1..31] Year = [1980..2099] [/T] Components of the time must be separated by a ":" and within the valid range for each component. Valid ranges are: Hour = [0..23] Minutes = [0..59] Seconds = [0..59] You may enter a "Date" or "Time" or both. It is not required that you enter either. By not entering these the list will show the file(s) current date and time stamp. The status line shows available keys you can use while entering the parameters. You may press to exit from the entry field or F10 to accept your entry. -----------------------------úClears------------------------------   [5]. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ EXAMPLES ON HOW TO PATCH COMMAND.COM Make sure you have a backup of the original 'Command.Com' safely stored on a floppy (a good boot disk is recommended) before you patch the file. The next few pages will show you how to patch your 'Command.Com' file in case you wanted to substitute 'DWCopy.Exe' for the DOS internal 'Copy' command. You can still use the DOS 'Copy' command even after you patch your version of 'Command.Com'. Examples listed are for DOS 'Command.Com' versions 5.0, 4.0, and 3.3. There is syntax listed in the examples that you DO NOT type in. It is placed there only to guide you through using 'Debug'... This means you type in what is to the left of the statement and then press or , depending on how your key is listed on your keyboard. ; Statements separated by a semicolon are there for an explanation only. In case you are unfamiliar with 'Debug' this will help you to understand what is go- ing on. "NEWN" This is the new name you are replacing the DOS 'Copy' command with. You can use whatever name you want but ONLY 4 characters, no less. As long as it is in upper- case then you can type this name at the DOS command line and still execute the internal DOS 'Copy' command. Example: C:\>NEWN [D:\][source filename] [D:\][destination filename] This will execute the DOS 'Copy' command as before your patch. After you patch the file and if you rename 'DWCopy.Exe' to 'Copy.Exe' then when you type... C:\>COPY [D:\][source filename] [D:\][destination filename] ...you will actually be executing 'DWCopy.exe' instead of the DOS internal 'Copy' command.   [6]. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ { Debug commands you will be using } R ;we need to display the contents of the CX register to get the length of the file. S ;we need to search a block of memory for the string of characters "COPY" D ;we want to display the contents in memory so we can see the string of characters "COPY" E ;we need to enter the string characters to replace "COPY" at the correct address... the address [S]earch will return. L ;we'll load the recently replaced string of characters and see if they are there. W ;write the file back to disk. Q ;quits the 'Debug' program. NOTE1a: The important thing to remember is the offset address returned after executing [-S]earch. I suggest you study the examples before you begin if you are not familiar with 'Debug'. It is actually quite simple. { the offset addresses for the 'Command.Com' versions I tested. } A93B offset for "COPY" 'Command.Com' v5.0 81DC offset for "COPY" 'Command.Com' v4.0 54CB offset for "COPY" 'Command.Com' v3.3 I do not guarantee that the addresses will be the same or that these examples if followed will constitute a successful patch by you, but they are indicative of what you can do.   [7]. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ { Use Dos's Debug to patch Command.Com for DOS version 5.0 } * * * PLEASE MAKE A BACKUP OF COMMAND.COM BEFORE ATTEMPTING THIS * * * This example has Command.Com on a floppy in drive A: NOTE0: Segment addresses will vary. There is no guarantee that the off- set addresses will be the same either. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ C:\>debug a:\command.com -rcx ; get the length from CX reg. CX BAE5 ; length of file to verify : -S 0100 BAE5 "COPY" ; lets search for "COPY" 2575:89BA ; first address found 2575:A93B ; second address found* -D A93B ; dump the second address ; and view it 2575:A930 43 4F 50 59 03 COPY. 2575:A940 C3 38 B4 84 05 50 41 55-53 45 06 4A 1A 3E 85 04 .8...PAUSE.J.>.. 2575:A950 44 41 54 45 02 C4 2F C4-84 04 54 49 4D 45 02 2D DATE../...TIME.- 2575:A960 30 1E 85 03 56 45 52 02-B7 1D 28 85 03 56 4F 4C 0...VER...(..VOL 2575:A970 03 BB 1C 30 85 02 43 44-03 77 25 A8 84 05 43 48 ...0..CD.w%...CH 2575:A980 44 49 52 03 77 25 A8 84-02 4D 44 03 E2 25 EA 84 DIR.w%...MD..%.. 2575:A990 05 4D 4B 44 49 52 03 E2-25 EA 84 02 52 44 03 56 .MKDIR..%...RD.V 2575:A9A0 26 0A 85 05 52 4D 44 49-52 03 56 26 0A 85 05 42 &...RMDIR.V&...B 2575:A9B0 52 45 41 4B 02 BC 37 9E-84 06 56 REAK..7...V -E A93B "NEWN" ; replace "COPY" with "NEWN" ; or any 4 characters! -D A93B L 40 ; view 40 bytes at address to ; verify your replacement 2575:A930 42 42 42 42 03 NEWN. 2575:A940 C3 38 B4 84 05 50 41 55-53 45 06 4A 1A 3E 85 04 .8...PAUSE.J.>.. 2575:A950 44 41 54 45 02 C4 2F C4-84 04 54 49 4D 45 02 2D DATE../...TIME.- 2575:A960 30 1E 85 03 56 45 52 02-B7 1D 28 85 03 56 4F 4C 0...VER...(..VOL 2575:A970 03 BB 1C 30 85 02 43 44-03 77 25 ...0..CD.w% -w ; now write the file back to ; disk Writing 0BAE5 bytes ; verify correct length -q ; quit debug ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ   [8]. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ { Use Dos's Debug to patch Command.Com for DOS version 4.0 } * * * PLEASE MAKE A BACKUP OF COMMAND.COM BEFORE ATTEMPTING THIS * * * This example has Command.Com on a floppy in drive A: NOTE0: Segment addresses will vary. There is no guarantee that the off- set addresses will be the same for your version either. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ C:\>debug a:\command.com -rcx ; get the length from CX reg. CX 92B5 ; length of file to verify : -S 0100 92B5 "COPY" ; lets search for "COPY" 2575:81DC ; only one address found -D 81DC ; dump the address and view it 2575:81D0 43 4F 50 59 COPY 2575:81E0 03 0A 30 05 50 41 55 53-45 02 0F 13 04 44 41 54 ..0.PAUSE....DAT 2575:81F0 45 02 4D 27 04 54 49 4D-45 02 B7 27 03 56 45 52 E.M'.TIME..'.VER 2575:8200 00 2C 16 03 56 4F 4C 03-25 15 02 43 44 03 7C 1D .,..VOL.%..CD.|. 2575:8210 05 43 48 44 49 52 03 7C-1D 02 4D 44 03 E2 1D 05 .CHDIR.|..MD.... 2575:8220 4D 4B 44 49 52 03 E2 1D-02 52 44 03 56 1E 05 52 MKDIR....RD.V..R 2575:8230 4D 44 49 52 03 56 1E 05-42 52 45 41 4B 02 03 2F MDIR.V..BREAK../ 2575:8240 06 56 45 52 49 46 59 02-46 2F 03 53 45 54 02 E6 .VERIFY.F/.SET.. 2575:8250 1A 06 50 52 4F 4D 50 54-02 CC 1A 04 ..PROMPT.... -E 81DC "NEWN" ; replace "COPY" with "NEWN" ; or any 4 characters! -D 81DC L 40 ; view 40 bytes at address to ; verify your replacement 2575:81D0 4E 45 57 4E NEWN 2575:81E0 03 0A 30 05 50 41 55 53-45 02 0F 13 04 44 41 54 ..0.PAUSE....DAT 2575:81F0 45 02 4D 27 04 54 49 4D-45 02 B7 27 03 56 45 52 E.M'.TIME..'.VER 2575:8200 00 2C 16 03 56 4F 4C 03-25 15 02 43 44 03 7C 1D .,..VOL.%..CD.|. 2575:8210 05 43 48 44 49 52 03 7C-1D 02 4D 44 .CHDIR.|..MD -w ; now write the file back to disk Writing 092B5 bytes ; verify correct length -q ; quit debug ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ   [9]. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ { Use Dos's Debug to patch Command.Com for DOS version 3.3 } * * * PLEASE MAKE A BACKUP OF COMMAND.COM BEFORE ATTEMPTING THIS * * * This example has Command.Com on a floppy in drive A: NOTE0: Segment addresses will vary. There is no guarantee that the off- set addresses will be the same for your version either. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ C:\>debug a:\command.com -rcx ; get file length from CX reg. CX 62DC ; 25308b in length : -S 0100 62DC "COPY" ; lets search for "COPY" 2575:54CB ; only one address found -D 54CB ; dump the address to view it 2575:54C0 43 4F 50 59 03 COPY. 2575:54D0 35 2A 05 50 41 55 53 45-02 B0 11 04 44 41 54 45 5*.PAUSE....DATE 2575:54E0 02 41 21 04 54 49 4D 45-00 59 22 03 56 45 52 00 .A!.TIME.Y".VER. 2575:54F0 94 13 03 56 4F 4C 01 3E-13 02 43 44 01 DD 18 05 ...VOL.>..CD.... 2575:5500 43 48 44 49 52 01 DD 18-02 4D 44 01 20 19 05 4D CHDIR....MD. ..M 2575:5510 4B 44 49 52 01 20 19 02-52 44 01 64 19 05 52 4D KDIR. ..RD.d..RM 2575:5520 44 49 52 01 64 19 05 42-52 45 41 4B 00 15 29 06 DIR.d..BREAK..). 2575:5530 56 45 52 49 46 59 00 47-29 03 53 45 54 02 C5 16 VERIFY.G).SET... 2575:5540 06 50 52 4F 4D 50 54 02-AB 16 04 .PROMPT.... -E 54CB "NEWN" ; replace "COPY" with "NEWN" ; or any 4 characters! -D 54CB L 40 ; view 40 bytes at address to to verify your replacement 2575:54C0 4E 45 57 4E 03 NEWN. 2575:54D0 35 2A 05 50 41 55 53 45-02 B0 11 04 44 41 54 45 5*.PAUSE....DATE 2575:54E0 02 41 21 04 54 49 4D 45-00 59 22 03 56 45 52 00 .A!.TIME.Y".VER. 2575:54F0 94 13 03 56 4F 4C 01 3E-13 02 43 44 01 DD 18 05 ...VOL.>..CD.... 2575:5500 43 48 44 49 52 01 DD 18-02 4D 44 CHDIR....MD -w ; now write the file back to disk Writing 062DC bytes ; verify correct length -q ; quit debug ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ   [10]. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ If all went well then copy the patched 'Command.Com' back to your hard drive and to it's original directory. If you have two copies of 'Command.Com' on your hard drive then make sure the patched version is copied over each. Place 'DWCopy.Exe' in your DOS directory and rename it to 'Copy.Exe'. Now reboot your system so your patched 'Command.Com' can be reloaded. Now, anytime you execute 'Copy' it will be 'DWCopy' that is executed. You can still use the DOS 'Copy' command, as long as the 4 characters you replaced it with are uppercase, by entering the name of whatever you patched it to. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Make sure DOS can find these files through your Path statement. Your [\DOS] directory is good place for "DWMove.Exe" & " DWCopy.Exe". All programs were tested on IBM compatibles 8088-486, color and mono, using MS-DOS versions 3.3 thru 5.0. All programs were compiled using Borland's Turbo Pascal v7.0. New CompuServe UID 73053,3202 08/05/1993 Hope the program(s) are of some use, william.