The wcp client application provides fast file copy and block level synchronization between the client application and a target computer running the wfstd service.  All options for the wcp client can be specified on the command line or in the configuration file. You can use either the short or long form of the option.  The short form is -F V, where F is the one-character option and V is the value (if required).  The long form is --option-name=option-value with no spaces between the name, '=', and value.  If the value includes spaces, such as for a path name, enclose the value in double quotes, --option-name="option value".  

When using an option in the configuration file, use the long form of the option without the leading "--".   In the configuration file it is OK to have spaces between the option name, '=', and value, and OK to have spaces in the value.  You can add a comment line to your configuration file by starting the line with '#'.

See File Copy, Backup, and Synchronization for more details on running wcp with its various options.

SYNTAX: wcp [OPTIONS] LocalPath LocalPath ... UserName@Address:/RemotePath
    or: wcp [OPTIONS] UserName@Address:/RemotePath RemotePath ... LocalPath

        [-r       | --recurse]                Recursive copy
        [-a       | --archive]                Preserve all file attributes
        [-X pattern | --exclude=pattern]      Exclude paths matching regex pattern
        [           --del-exclude=pattern]    Exclude delete of paths matching regex pattern
        [-I pattern | --include=pattern]      Include paths matching regex pattern
        [           --del-include=pattern]    Include delete of paths matching regex pattern
        [-P path  | --pattern-file=path]      Read regex Include/Exclude patterns from file
        [           --del-pattern-file=path]  Read regex Include/Exclude patterns for deleting from file
        [-j       | --absolute-paths]         Use absolute paths
        [-K       | --overwrite]              Force overwrite of existing files
        [           --no-server-overwrite]    When receiving, refuse to overwrite existing files
        [-s       | --sync]                   Use block level sync rather than file copy
        [           --newer]                  Only copy or sync if source file is newer than target file
        [-T       | --preserve-times]         Preserve file creation and modification times
        [-H       | --always-hash]            Always hash files on sync, i.e., ignore file time and size
        [-d       | --delete-files]           Delete unmatched files on target
        [           --delete-first]           Delete files before creating to conserve disk space
        [           --log-changes]            Log all changes to file system
        [-S       | --follow-links]           Follow symbolic links rather than recreate link
        [-o       | --preallocate-files]      Preallocate entire file on target system before transfer
        [-t       | --test-drive]             Test drive -- don't do anything, just show what changes.
        [-N       | --numeric-ids]            Use numeric IDs when transferring file attributes
        [           --name-ids]               Convert IDs to user/group names when transferring file attributes
        [-J       | --ignore-unk-ftype]       Ignore unknown file types (sockets, fifos, bdev, cdev)
        [           --no-sparse]              Do not retain sparse files
        [           --check-attrs]            Verify attributes even if file unchanged
        [           --save-attrs]             Always archive file attributes
        [           --archive-extension=str]  File extension to be used for storing foreign attributes
        [           --max-files=int]          Maximum number of open files during copy/sync
        [           --rm=path]                Turn on external integration features
        [           --no-attr-errs]           Do not print warnings on failure to set attributes
        [           --op-list=path]           Specify a file containing additional opertions
        [           --vss]                    Follow symlink for initial volume path -- support mounted VSS volumes
        [           --max-calc-time=int]      Maximum time in seconds allowed to calculate size of volume
        [           --quick-calc]             Don't walk the file system to get transfer size estimate
        [-R       | --auto-restart]           Attempt to restart file transfer after network failure
        [           --cross-mount]            Cross mount points
        [           --vol-copy]               Copy the contents of a disk device rather than recreate the device.
                                              Use this for block-based copy of a volume device.
        [           --skip-sys-files]         Skip Windows system files
        [           --disk-rd-test]           Test the disk read speed by reading the specified (very large) file
        [           --disk-hash-test]         Test hash speed by reading and hashing the specified (very large) file
        [           --disk-wr-test]           Test the disk write speed by writing -s NUM bytes to path
        [           --ctl-pool-size=int]      Number of TCP connections in the command control pool
        [           --sequenced]              Use a sequenced tunnel -- i.e., voice, login session, etc
        [           --nonsequenced]           Use a nonsequenced tunnel -- i.e., file data copy
        [           --block-size=int]         Specify file read/write block size 512 ... 12288
        [-y       | --accept-hosts]           Silently accept unknown hosts.
        [-p int   | --pool-size=int]          Size of connection pool [1-16]
        [-x MBPS  | --max-bandwidth=MBPS]     Max bandwidth per VC in mbps [MBPS=int].
        [-c       | --compress]               Compress all data transfers
        [-C       | --no-compress]            Do not compress any data transfers [default]
        [-k       | --auto-compress]          Automatically determine whether to compress
        [-z alg   | --compress-alg=alg]       Specify the compression algorithm [alg=string] See "-q c"
        [-e       | --encrypt]                Encrypt with the default algorithm [default]
        [-E       | --no-encrypt]             Do not encrypt
        [-n alg   | --encrypt-alg=alg]        Specify the encryption algorithm [alg=string].  See "-q e"
        [-i path  | --identity-file=path]     Identity file path.
        [-A path  | --authorized-keys=path]   Specify the path to the authorized keys file
        [-f path  | --config-file=path]       Configuration file path.
        [-g path  | --log-file=path]          Log file path.
        [-D int   | --log-level=int]          Set log level.
        [-Q       | --quiet]                  Quiet output
        [-V       | --verbose]                Verbose output
        [           --config]                 Print the current configuration
        [-v       | --version]                Version
        [-q c|e   | --query=c|e]              List the supported compression (c) or encryption (e) algorithms
        [-F ID    | --create-key-file=ID]     Create a keyfile [ID = hostname, IP, or email]
        [-M       | --import-key-file]        Import a keyfile [keyFilePath] [ID]
        [           --password=string]        Password for private key file, if required.
        [           --priv-key-bits=bits]     Number of private key bits to create [bits=int, default=2048].
        [           --server-port=port]       Specify the WFST service port [port=int].
        [           --tcp-keep-alive=int]     Set the keep-alive timeout used by all TCP connections
        [           --no-key-perms]           Do not verify permissions on key files
        [           --sync-reverse-conns]     Have wfstd initiate connections to wsyncr to help with firewalls

Copy one or more paths from the local machine to the target path on a remote machine,
OR copy one or more paths from a remote machine to the target path on the local 
machine. Shell-style glob expansion can be used on the source paths.

If one or more include options is specified, then only paths that match at least
one of the include patterns will be copied.  If one or more exclude options is
specified, then paths matching any of the exclude patterns will not be copied.