Dopple

A commandline backup utility

Download

Version 1.3 for Windows

About

Dopple is a simple commandline tool for copying (or moving) files and folders.

It has two required parameters: source and dest paths, relative or absolute.
By default, Dopple will copy files from source to dest if the source file's Modified timestamp is newer (or if the destination file does not exist).

See the descriptions below for additional options.

Help

Version 1.3 usage (accessible by running dopple -h):

usage: dopple [-h] [--version] [-v] [-q] [--log FILE] [-t] [--no-recurse]
              [--no-hidden] [--clean] [--reset] [--move] [-a] [-c] [-s N]
              [--older] [--crc32] [--md5] [--fex PATTERN] [--pex PATTERN]
              [--fin PATTERN] [--pin PATTERN] [-o] [-l FILE] [-d N]
              [--predelay N] [-k] [--shutdown] source dest

positional arguments:
  source             folder to back up
  dest               destination for backup files

optional arguments:
  -h, --help         show this help message and exit
  --version          show program's version number and exit
  -v, --verbose      show all activity (not just errors)
  -q, --quiet        don't show anything, even errors
  --log FILE         log all activity to the specified file
  -t, --test         test mode (filesystem will not be changed)

  --no-recurse       do not backup subfolder contents
  --no-hidden        do not backup hidden files/folders
  --clean            delete extra files from destination
  --reset            delete entire destination folder before starting
  --move             move to destination, rather than copy
  -a, --abort        abort backup if any copy fails
  -c, --confirm      ask before overwriting files
  -s, --skip N       used with -c to auto-select 'No' after N seconds

  --older            copy if source's modified date is newer OR older
  --crc32            copy if CRC32 checksum has changed
  --md5              copy if MD5 hash has changed

  --fex PATTERN      file/folder name exclude (see below)
  --pex PATTERN      relative path exclude (see below)
  --fin PATTERN      file/folder name include (see below)
  --pin PATTERN      relative path include (see below)

  -o, --open         open destination folder when finished
  -l, --launch FILE  launch the file (or folder) when finished
  -d, --delay N      wait for N seconds before closing
  --predelay N       wait for N seconds before starting
  -k, --key          wait for a key press before closing
  --shutdown         shut down computer when closing

'source' and 'dest' can be specified as:
  relative path, eg. MySubFolder or ./
  absolute path, eg. C:\Windows\MySubFolder\
  located drive, eg. {IdentifyingFile}\MyBackup\

Include/Exclude patterns:
  'fin' and 'pin' indicate files/folders to include
  'fex' and 'pex' indicate files/folders to exclude
  'fin' and 'fex' match against the file/folder's name
    eg. --fin image*.png --fex image00.png
  'pin' and 'pex' match against the path and name, relative to 'source'
    eg. --pin MyPics\New\*.jpg --pex MyPics\20??\
  Evaluated from left-to-right
  Use 'glob' syntax:
    ? matches any char (exactly 1)
    * matches any chars (0 or more)

Credits

Dopple is by R. Touk (email)