Posted by: mahkokwei | December 21, 2008

ROBOCOPY and XXCOPY

ROBOCOPY will be the default tool for me to perform file copy from a server to another server. Recently, I found XXCOPY while searching for ROBOCOPY errors occurred during file copy. Below are some explanations and comparison between them.

ROBOCOPY and XXCOPY are actually origin from Microsoft’s XCOPY. Behavior between XCOPY and XXCOPY are very close compare to ROBOCOPY.

ROCOCOPY       XXCOPY       COMMENTS
------------------------------------------------------------------------
 srcdir        srcspec      XXCOPY Allows wildcards anywhere any number
 dstdir        dstdir       Destination specifier
 file          ----         Part of srcspec to be XCOPY compatible
 file...       /IN<file>    /IN allows additional filename patterns
 /S            /S           Copy subdirectories
 /E            /E           copy subdirectories even if its empty
 /LEV:<n>      /DL<n>       Limit the number of directory levels
 /MOV          /RC          Delete from source after copying
                            (Move files)
 /MOVE         /RC/E        Delete from source after copying 
                            (Move files and Dirs)
 /PURGE        /Z           Delete dst files/dirs no longer exist in src
 /MIR          /CLONE       Mirror a directory tree
 /A+:<mask>    ----         Add the given Attributes to copied files.
 /A-:<mask>    ----         Remove the given Attributes from copied files.
 ----          /KS/KD/KN    Keep the src attributes/dst attrib/sets new
 ----          /AC          Clear src archive bit
 /CREATE       /CLONE/TR0   Create directory tree + 0-length files only.
 /FAT          /N           Create destination files using 8.3 names.
 /A            /A           Copy only files with the Archive attribute set
 /M            /M           Like /A, but remove A-bit from source files.
 /IA:<mask>    /AT<mask>    Include only files with some of the Attrib set.
 /XA:<mask>    /AX<mask>    Exclude files with any of given Attributes set.
 /XF           /X<file>     Exclude File matching given name/path/wildcard
 /XD           /X<dir\>     Exclude Directories matching given names/paths.
 /XC           /BS          Exclude changed files 
 /XN           /BO          Exclude newer files  
 /XO           /BN          Exclude older files  
 /XX           /Z           Exclude extra files
 /XL           /U           EXclude Lonely files/dirs
 /IS           /BI0         Include Same files
 /MAX:<n>      /SZ:-<n>     Exclude files bigger than n bytes.
 /MIN:<n>      /SZ:<n>-     Exclude files smaller than n bytes.
 /MAXAGE:<n>   /DA#<n>      Exclude files older than n days/date.
 /MINAGE:<n>   /DB#<n>      Exclude files newer than n days/date.
 /LOG:<file>   /ON<file>    Output status to LOG file 
                            (overwrite existing log).
 /LOG+:<file>  /OA<file>    Output status to LOG file 
                            (append to existing log).
 /L            /L           List only (no copy, timestamp, or delete action)
 /NP           /PB0         Enable/Disable progress display
 /R:<n>        -----        Number of retries on failed copies
 /W:<n>        -----        Wait time between retries: 
                            default is 30 seconds.
 ----          /CR<n>       XXCOPY retry period is specified in seconds.
 /SEC          /SC          Copyies Security information.
 /SECFIX       /SF          Fixes up security information without copy.
 /X            ----         Report extra files, not just those selected.
 /V            ----         Produce Verbose output, showing skipped files.
 ----          /Q<n>        Control various quiet (verboseness) levels
----------------------------------------------------------------------------
Features found only in ROBOCOPY:
 ROBOCOPY
----------------------------------------------------------------------------
 /Z                Copy file in restartable mode for quick retry later
 /TIMFIX           Fix timestamps on existing destination files.
 /REG              Save /R:n and /W:n in the Registry as default
 /TBD              Wait for sharenames To Be Defined (retry error 67).
 /ETA              Show Estimated Time of Arrival of copied files.
-----------------------------------------------------------------------------
Features found only in XXCOPY:
 XXCOPY
-----------------------------------------------------------------------------
 WildWildSrc       Wildcards anywhere any number in the source
 /X*\dir*\         Exclusion dir may be in any level and with wildcards
 /EX<file>         Exclusion specifiers supplied in a text file.
 /CF               Command file which removes size limit of command line.
 /RS/RD/RX         Delete file/directory (not just a copy utility)
 /DA#/DB#          File age specifier in Days, Hours, Minutes, or Seconds.
 /CCY              handle a cyclic copy to proceed.
 /SP               Span backup into multiple volume (for floppy, CD-RW)
 /SX               Flatten a directory tree
 /SG               Gather files into a directory
 /Lxxx             List (/L) with a customized display format
 /BZL/BZS/BZX/BZS  Backup if size is larger/smaller/different/same
 /NX               Preserve short filename
 /NL               Restore long filename after a SFN-only copy
 /NS               Restore short filename
 /NW/ND            Select filename-matching algorithm (Win32 vs DOS)
 /NP               Precise filename matching (no alias-matching)
 /FL/FU            Use Filetime in LocalTime/UTC-time
 /FW/FA/FC         Use Filetime in Last-Write, Last-Access, Create
 /FF               Fuzzy Filetime with adjustable margin in 
                   time comparison
 /TR<n>            Copy first n bytes to the destination file
 /ED/ED0           Delete/leave an empty directory when deleting
 /CK/CK0           Enable/disable remaining-space check before copy
 /IA/IP            Terminate if destination is absent/present
 /CB/CQ            Continue batch (batch enhancer feature)
 /NI<n>            Be nice to other tasks (add idle to ease CPU demand)
 /ER               Report exit code in XCOPY-compatible mode
 /V2               Verify a file-copy on a byte-by-byte comparison basis.
 /SZ!<n>-<m>       Exclude range <n>-<m>  which ROBOCOPY can't do
 /TS+/TS-/TD+/TD-  Time comparison with offset 
                   (inter-timezone synchronization)
 /WS/WE/P/PD/PW/YY Control for user prompts on various occasions
 /PC               Prompt on create (in addition to prompt on overwrite)
 /PB               Progress Bar for the entire job
 /PB<n>            Progress Bar for file with adjustable cutoff size.
 /MD               Make Directory (mkdir) for log file, etc. within XXCOPY
 /oX               Output the list of exclusion items after optimization
 /xxxx/?           Smart help with a focused list of relevant switches
-----------------------------------------------------------------------------

Several differences between ROBOCOPY AND XXCOPY:

ROBOCOPY provides more detailed statistics than XXCOPY.

ROBOCOPY provides percentage display on each file while XXCOPY has progress bars for the entire job as well as single file copy with variable cutoff limit.

When aborting ROBOCOPY, it abruptly ends the whole job without any display of statictics thus far completed. Compare with XXCOPY, it first waits for the completion of the file copy in progress and provides statistics.

Apparently, ROBOCOPY is designed more towards backup and archiving operation, and XXCOPY has a wider scope in non-backup related file management operations.

 But…. there’s no free lunch in this world….. XXCOPY is a shareware (pay to get full functions on network capability) and ROBOCOPY had already bundled in Windows Vista (I’m using Ultimate edition).

Anyway, for more info about XXCOPY: www.xxcopy.com


Responses

  1. I always use xcopy as I usually don’t like to install 3rd party stuff in view of the system security and virus reasons. Xcopy has got enough options anyways.. http://www.windows-commandline.com/2011/02/xcopy-command-syntax-examples.html

  2. Heya i am for the first time here. I found this board and I find It truly useful &
    it helped me out a lot. I hope to give something back and help others like you aided me.

  3. I like reading through a post that will make men and
    women think. Also, thanks for permitting me to comment!


Leave a comment

Categories