

shlcpy User's Guide v2.9                                16 Feb 2018
========================

shlcpy is a somewhat intelligent file copy utility.  It is intended
primarily to synchonize directories in ways that the standard copy and
xcopy commands can not.

shlcpy copies based on dates and optionally content.  Copies may be limited
to existing files and directories.

By default shlcpy, prompts when it is not sure what to do.  This can be 
overridden with command line options.


Installation
============

Install the executable in a directory of your choice. If you use the
program from the command line, you should probably install it to a directory
in the PATH.


Usage
=====

shlcpy takes a list of path specifications and a destination directory
specification and, if not options are specified, copies the selected files to
the destination directory, recreating the source directory tree below the
desination directory as needed.  The user will be prompted if
non-existant directories are to be created.   For example:

  cd \apps\work
  shlcpy * a:\

will replicate the content of the \apps\work directory to a:\apps\work.  This
behavior can be altered by command line options.

The command line syntax is:

  shlcpy [-cCDfFhnprRuvy] [-d dest] files... [dest]

where the the switch options are

  -c       Compare contents byte for byte
  -C       Preserve current tree
  -d dest  Set destination directory
  -D       Enable debug
  -f       Flatten tree (deprecated)
  -F       Flatten tree
  -h       Display help
  -m       Create directories without prompting
  -n       Never create directories
  -o       Never overwrite inconsistent files
  -p       Prompt for file create
  -r       Recurse sub-directories
  -R       Preserve relative tree
  -u       Update only files that exist at destination
  -v       Display verbose messages - repeat for more verbosity
  -x       Overwrite read-only files without prompting
  -z       Overwrite inconsistent files without prompting

the argument options are:

  files    Source file specifications
  dest     Destination directory specification

Switches must begin with a dash (-) and are case-sensitive.

A couple of comments about the switch options details.

  cd \apps\work
  shlcpy -C * \bkup

will copy from \apps\work to \bkup\work

  cd \apps\work
  shlcpy -R * \bkup

will copy from \apps\work to \bkup

The -d option is useful when it is inconvenient to specify the destination as
the last command line argument.

Shlcpy normally prompts before creating directories, overwriting 
inconsistent files.  The -z option overrides this behavior.  Use this option 
only if you are sure you alwasy to copy the source file.

For batch mode backup operations

  -rxm

may suit your needs.  If this results in prompts because of the destination 
timestamps have gotten out of sync

  -rxmz

may give you the results you want.  However, be sure you understand the 
implications of using -z.


License
=======

This utility is placed in Public Domain as freeware.  This utility may not
be sold, hired or leased.


Warranty
========

EXCEPT AS OTHERWISE RESTRICTED BY LAW, THIS WORK IS PROVIDED WITHOUT ANY
EXPRESSED OR IMPLIED WARRANTIES OF ANY KIND, INCLUDING BUT NOT LIMITED TO,
ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY
OR TITLE.  EXCEPT AS OTHERWISE PROVIDED BY LAW, NO AUTHOR, COPYRIGHT HOLDER
OR LICENSOR SHALL BE LIABLE TO YOU FOR DAMAGES OF ANY KIND, EVEN IF THEY
HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.


Support
=======

Please address support questions and enhancement requests to:

  Steven H. Levine
  steve53@earthlink.net
