               ͻ
                               UPCOPY                  
                  Copyright (c) 1994-98 L.I.Williams   
                         All rights reserved           
                  Issue 6.1             Date: 01May98  
               ͼ

     UPCOPY is a directory synchronizer - it copies files one or both both
     ways as necessary to make directories identical (whole trees if you
     purchase). It picks out new or updated files and can choose the right
     copy direction for you, that makes it fast. UPCOPY can erase files
     and show file information and comparisons. It's useful across a
     network to synchronize PC's.

     UPCOPY has a menu mode well suited to Windows. You just add UPCOPY as
     a DOS application with  command UPCOPY and icon UPCOPY.ICO. But, as a
     DOS command:

     Usage:    UPCOPY path1 [path2]      (e.g. UPCOPY a:)

     The parameters are:

       path1     Specifies the first directory or file(s) to be handled.
       path2     Specifies the other directory and/or filename(s).
       /B        Run in DOS batch or command mode
       /C        Only processes common files and ignores new files.
       /CD       Only processes common directories and ignores new
                 directories
       /D        Differencing. Also asks if you want to compare files when
                 they are different.
       /E        New files not copied can be erased.
       /EC       Suppress copying and erase duplicate copies. With prompts
                 you can choose which duplicate is erased, otherwise it's
                 the target.
       /F        Forward only. Only copies or asks to copy from path1
                 (source) to path2 (target). Path1 is not altered.
       /I        Information only. Compares directories without copying.
       */K       Skip file automatically at hard error
                 (Abort,retry,fail,continue).
       /M        Mirror copies system and hidden files, and those with
                 changed attributes or size, and the same time.
       /N        Processes new files and ignores common files
       /O        Can overwrite new with old as well.
       */P       Pause at each screenful of output.
       /Q        Quick and quiet. This suppresses a lot of information and
                 does no checks after copying.
       /R        Can overwrite or erase read only files.
       /S        Processes subdirectories (keyfile enabled only)
       /W        Run in windowed menu mode (default for no parameters)
       */X<name> 'Shell' to your copy batch file or program.
       /Y        Automatic mode. No prompts.

     *=options that are not available in windowed mode.

     You can put the options where you like, and stop UPCOPY any time with
     CTRL+Break or CTRL+C. A '+' means copy the other path. The minimal
     list of files installed is:


                                  Page 1 of 6
            UPCOPY.EXE   - the program
            UPCOPY.TXT   - this documentation
            UPCOPY.HLP   - help file for windowed mode
            UPCREG.TXT   - Purchase and registration information

     These are optional to users:

            UPCWIN.TXT - Windows installation instructions for UPCOPY as a
                         non-Windows application
            UPCOPY.PIF - Windows Program Information File
            UPCOPY.ICO - Windows icon
            UPCEG.BAT  - batch example creating temporary directories
            UPCOPYB.BAT- example shell batch file for /X
            UPCSYNC.BAT- directory synchronization leaving out certain
                         files
            DC.BAT     - handy directory-compare batch file using UPCOPY

     These are not automatically copied from the disk or source directory;
     some may not concern you, 'packaging' etc:

            FILE_ID.DIZ  - short description for distributors
            VENDOR.DOC   - information for distributors
            VENDINFO.DIZ - machine readable info for distributors
            HISTORY.TXT  - issue notes showing changes over time
            README.BAT   - a short introduction
            INSTALL.BAT  - copies above files to a suitable directory
            UMAIN.C00    - one of the source modules,included for interest

     Examples of Use
     
     *   Mirror your system disk C as a backup.

     *   Keeps local and server versions of directories in
         synchronisation, minimising network traffic.

     *   Keeps directories aligned on a home PC, and one at work, using a
         transfer disk.

     *   Copies the latest files in both directions to a master disk (or
         network directory), which is shared by a group working together

     *   Keeps straightforward backups (or many rotated backups) of a
         directory - no need to worry about file attributes or incremental
         and absolute backups.

     *   Synchronize two directories and then remove the duplicate -
         nothing gets lost.

     UPCOPY is ideal for use over a network, with the Interlnk connection
     system, removable hard disks, and parallel port hard disks.

     UPCOPY mostly uses the date and time stamp of the files. It doesn't
     use the DOS archive attribute, and it doesn't check the contents of
     the files - that makes it fast.

     UPCOPY is a 16 bit application. It does not copy Windows 95/98/NT
     long file names (VFAT).


                                  Page 2 of 6
     Example
     
     Suppose two directories on disk C \temp1 \temp2 contain files as
     follows:UMAIN.C00 is the same in both, UUTL.C00 is newer in \temp2,
     UGLOB.H00 is newer in \temp1, UEXTERN.H00 exists only in \temp1 and
     UDEF.H00 exists only in \temp2.

     The command 'UPCOPY \temp1 \temp2 /y' produces this result:
     UPCOPY 6.0, Shareware Version, (c) 1994-96 L.I.Williams.
         C:\TEMP1\*.*                    ..   C:\TEMP2\*.*
     UMAIN   C00   12k 14Jan96 16:58  ==  UMAIN   C00   12k 14Jan96 16:58
     UUTL    C00   14k 15Jan96 11:51  <=  UUTL    C00   14k 18Jan96 16:08
     ... file C:\TEMP2\UUTL.C00 copied to C:\TEMP1\UUTL.C00
     UEXTERN H00  4561 17Jan96 16:39  =>  ... New file, no version here
     ... file C:\TEMP1\UEXTERN.H00 copied to C:\TEMP2\UEXTERN.H00
     UGLOB   H00  8401 18Jan96 16:07  =>  UGLOB   H00  8401 18Jan96 14:50
     ... file C:\TEMP1\UGLOB.H00 copied to C:\TEMP2\UGLOB.H00
     ... New file, no version here    <=  UDEF    H00  3431 17Jan96 16:49
     ... file C:\TEMP2\UDEF.H00 copied to C:\TEMP1\UDEF.H00
     Checking result ...
     File(s) specified are now the same

     Both directories are now identical and up-to-date. Just to confirm
     this if we now type 'UPCOPY \temp1 \temp2 /i' we get:

     UPCOPY 6.0, Shareware Version, (c) 1994-96 L.I.Williams.
         C:\TEMP1\*.*                    ..   C:\TEMP2\*.*
     UMAIN   C00   12k 14Jan96 16:58  ==  UMAIN   C00   12k 14Jan96 16:58
     UUTL    C00   14k 18Jan96 16:08  ==  UUTL    C00   14k 18Jan96 16:08
     UDEF    H00  3431 17Jan96 16:49  ==  UDEF    H00  3431 17Jan96 16:49
     UEXTERN H00  4561 17Jan96 16:39  ==  UEXTERN H00  4561 17Jan96 16:39
     UGLOB   H00  8401 18Jan96 16:07  ==  UGLOB   H00  8401 18Jan96 16:07
     File(s) specified are the same

     Restrictions
     
     UPCOPY will work (limping a bit!), as just UPCOPY.EXE on a boot disk.
     UPCOPY.INI as well ensures that the /S option is available. But
     UPCOPY will not do file compares and ignores /D if there is no access
     to the DOS 'FC' program. Also help is restricted if there is no
     UPCOPY.HLP, no DOS 'MORE' program, or this file UPCOPY.TXT is not
     available. UPCOPY cannot rename files as it copies.

     Hints
     
     You need to keep the clock on your PC about right, especially if you
     use UPCOPY to move files between PC's. If you put the PC clock BACK
     an hour during the working day you can make a new file version look
     old, so it's best to change the clock first thing in the morning, and
     keep all PC's on the same time.

     /f/y/o/e/q is a handy combination for fast copying. It will quickly
     make the target mirror the source overwriting differences and erasing
     additional files, but without re-copying files that are already up-
     to-date or modifying the source in any way. With /m it's slower, but
     you'll pick up changed size or attributes as well. /s will do the
     whole tree if you have a keyfile.


                                  Page 3 of 6
     Your Questions Answered
     
     What is UPCOPY for? What's wrong with just copying files like I've
     always done? - 1) You never find out if it was necessary 2) You may
     overwrite new with old 3) You can't get rid of new files (often junk)
     4) The files aren't copied both ways 5) You make new copies of files
     that are already up-to-date and fragment your disk, wasting time. 6)
     You don't see the directory information you need to make decisions.

     Can I update a whole disk or directory structure? - When you purchase
     UPCOPY ($25, site license $69, wide license $195) you will receive
     the keyfile UPCOPY.INI that enables the '/s' option which does this
     automatically. Take a look at UPCREG.TXT for more information. You
     can also get a free evaluation keyfile to do this - send me an e-mail
     to lewisw@compuserve.com or look at my home page:
     http://ourworld.compuserve.com/homepages/lewisw.

     Can I erase unwanted excess trees like I can files? When you purchase
     I'll send you a program SYNCT to do this - it's not really something
     to play with during shareware evaluation.

     I already use backup software. Can I use UPCOPY too? - Yes. In
     general you have to be careful with mixing backup systems because
     they may assume exclusive use of a thing called the 'archive
     attribute' for a file, (which marks whether or not a file should be
     backed up.) Because UPCOPY uses only the date and time of a file it
     does not suffer from this problem, or affect other backup systems.
     UPCOPY works like normal copying, the new copy has its archive
     attribute set, which means it will be backed up by any other system.

     How safe is UPCOPY? - It's very safe, especially when you don't set
     any of the options. This is because differences only trigger
     questions. You can use UPCOPY very occasionally without worrying that
     you'll forget what to do, or what it does.

     Can I run UPCOPY automatically, say overnight or in my autoexec.bat?
     Basically yes. You need the /y no prompt option, perhaps the /k
     option in case of disk full, and a scheduler to launch UPCOPY. To
     create a logfile use the DOS '>' or >> syntax, as in say:

     UPCOPY C:\*.* D:\*.* /f/y/e/q/m/r/s/o/k >> BACKUP.LOG

     The title and error messages go to the screen, everything else goes
     to the file. Use the /k skip file automatically on critical hard
     error with care - skipping may not solve the problem.

     What happens with newly created files? -  For UPCOPY 'new' means a
     file that exists in one directory, but not the other. The objective
     is to make the directories the same. So with /E, if you don't want to
     copy the file, it will ask you if you want to erase it. You can set
     /E/F/Y to erase unwanted new files in the target directory
     automatically, /C if you want to update just the common files (and
     ignore all new additional files) or /F if you want to copy  new files
     only from the source to the target.

     What happens if I've altered more than one copy of a file? -
     Basically the newest one wins. Look for my freeware program UNITE,


                                  Page 4 of 6
     which will merge two ASCII files highlighting the differences
     (disaster recovery you might say).

     When is a file updated? - Copying a file or changing its attributes
     doesn't update a file. Essentially a newer version has to be made by
     an application. Often applications update their data files every time
     they run, and so UPCOPY will decide to update a copy. If you set the
     mirror /m option UPCOPY will also spot attribute and size changes. A
     very few applications deliberately hide the fact that they are saving
     data to disk - this can be associated with attempts at security, with
     passwords, usage counters, usage start dates and so on, or perhaps
     the data is basically rather volatile (the place you are at reading a
     file, say). The file date, and perhaps even the file checksum, is
     deliberately kept constant (this won't happen by accident). UPCOPY
     does not update its copy of such files (in fact it doesn't really
     need to), and neither would a formal incremental backup.

     Does UPCOPY use the PC clock? No, it doesn't look at it. The PC clock
     supplies the time to stamp a file when it's updated by an
     application, and that's why the clock has to be about right.

     Wait, with 2 PC's the clocks have to be exactly synchronised, don't
     they? No, strangely enough. If you take a file so rapidly between two
     PC's that the clock time SHOWING goes BACK due to a clock difference,
     AND you then modify the file immediately on that PC, AND you then
     take the file back to the first PC, you will beat UPCOPY - it doesn't
     really happen naturally even when the PC's are directly connected. On
     the other hand an hour difference could cause a problem - you can
     work back and forth in an hour.

     What about attributes - system, hidden and read-only? - System and
     hidden files are ignored and not copied unless you set the /m mirror
     option. It can be dangerous to copy *to* your active system disk
     (usually disk C) with /m set - use the SYS command or whatever
     instead. As regards read-only files, normally UPCOPY will not
     overwrite, or even ask to overwrite them (you'll get an informative
     message). If you specify /R then read-only files can be updated. When
     a file is updated by UPCOPY in /m mode the read-only, system and
     hidden attributes of the source file (as set or not set) are copied
     to the target file.

     How do I make sure I do NOT update a file? -  Use the DOS 'ATTRIB +R'
     command to make target read-only (preferred), or use DOS 'ATTRIB +H'
     to make the source hidden, or post-date the target file e.g. set a
     future date on your PC and type 'COPY FILE.EXT+,,' in the file's
     directory. You may wish to do one of these with AUTOEXEC.BAT,
     CONFIG.SYS, WIN.INI and SYSTEM.INI when you synchronize PC's. See
     UPCSYNC.BAT for an example. You can also hide the root directory of a
     tree to stop the tree being updated, or use the /CD option so that
     only common directories are updated.

     How do I backup the files UPCOPY erases? When you have a special
     requirement like this, use the /x<batch file> option. In this mode
     UPCOPY becomes a file picker - it simply passes the batch file a
     reason parameter and the two file names split up into disk letter,
     directory path, file root name and extension. In the batch file it's
     easy to copy a file to a recycle bin, or some such, before erasing
     it. For parameter details see the example batch file UPCOPY.BAT

                                  Page 5 of 6
     Will /e erase directories? No. With /f an empty source directory can
     lead to an empty target directory - that's all. If the source
     directory itself has been erased completely, then the target
     directory is left alone (again with /f) - it's listed as new with no
     corresponding source copy. This is a safety feature as much as
     anything. When you purchase an UPCOPY license you'll get a separate
     program SYNCT which will find and erase your unmatched trees.

     If you have any other questions please feel free to send me a note.

     Compatibility
     
     Windows95, Windows NT, OS/2, Netware, DOS versions.... UPCOPY uses
     basic DOS technology. Essentially if the DOS COPY and DIR commands
     work then so should UPCOPY. This makes it universal and robust.
     However sometimes a new feature is not supported. For example
     Windows95 (and OS/2 on an HPFS partition) support long file names,
     but files copied by UPCOPY will have only the short form DOS alias.
     See my home page for some useful long file name programs to get round
     this.

     Technical
     
     UPCOPY is written in C, accessing file information using DOS system
     calls, and using it's own copy engine. The windowed user interface
     and mouse handling uses the 'C/Windows Toolchest' library by Mix
     Software. One module of the source code, the top level command parser
     UMAIN.C00, is included, in case you're curious.

     Purchase, Support and Contact Information
     
     Hit F8=Order Info which displays the document UPCREG.TXT.

     About the Author
     
     Born 1953 in Dyfed, Wales. I obtained a degree in Cybernetics from
     Reading University in 1974. I've been living here outside Poole,
     Dorset for about 20 years. (Poole has a natural harbour and is a bit
     like San Francisco really). My interests include walking, and
     cycling, and spending far too much time in my local pub.

     Cybernetic Software
     
     This is called a 'trading style' - it's not a limited company. In the
     main I freelance, writing software or firmware for engineering
     applications, but that's another story.

     THE END











                                  Page 6 of 6
