RoboSharp
Describes an error that occured when generating the command
Error Description
If this CommandErrorEventArgs object was created in response to an exception, that exception is captured here.
If no exception was thrown, this property will be null.
Exception to data to pass to the event handler
Source, Destination, and options for how to move or copy files.
The source file path where the RoboCommand is copying files from.
The destination file path where the RoboCommand is copying files to.
Allows you to supply a set of files to copy or use wildcard characters (* or ?).
Copies subdirectories. Note that this option excludes empty directories.
[/S]
Copies subdirectories. Note that this option includes empty directories.
[/E]
Copies only the top N levels of the source directory tree. The default is
zero which does not limit the depth.
[/LEV:N]
Copies files in Restart mode.
[/Z]
Copies files in Backup mode.
[/B]
Uses Restart mode. If access is denied, this option uses Backup mode.
[/ZB]
Copy using unbuffered I/O (recommended for large files).
[/J]
Copies all encrypted files in EFS RAW mode.
[/EFSRAW]
This property should be set to a string consisting of all the flags to include (eg. DAT; DATSOU)
Specifies the file properties to be copied. The following are the valid values for this option:
D Data
A Attributes
T Time stamps
S NTFS access control list (ACL)
O Owner information
U Auditing information
The default value for copyflags is DAT (data, attributes, and time stamps).
[/COPY:copyflags]
Copies files with security (equivalent to /copy:DAT).
[/SEC]
Copies all file information (equivalent to /copy:DATSOU).
[/COPYALL]
Copies no file information (useful with Purge option).
[/NOCOPY]
Fixes file security on all files, even skipped ones.
[/SECFIX]
Fixes file times on all files, even skipped ones.
[/TIMFIX]
Deletes destination files and directories that no longer exist in the source.
[/PURGE]
Mirrors a directory tree (equivalent to CopySubdirectoriesIncludingEmpty plus Purge).
[/MIR]
Moves files, and deletes them from the source after they are copied.
[/MOV]
Moves files and directories, and deletes them from the source after they are copied.
[/MOVE]
This property should be set to a string consisting of all the attributes to add (eg. AH; RASHCNET).
Adds the specified attributes to copied files.
[/A+:attributes]
This property should be set to a string consisting of all the attributes to remove (eg. AH; RASHCNET).
Removes the specified attributes from copied files.
[/A-:attributes]
Creates a directory tree and zero-length files only.
[/CREATE]
Creates destination files by using 8.3 character-length FAT file names only.
[/FAT]
Turns off support for very long paths (longer than 256 characters).
[/256]
The default value of zero indicates that you do not wish to monitor for changes.
Monitors the source, and runs again when more than N changes are detected.
[/MON:N]
The default value of zero indicates that you do not wish to monitor for changes.
Monitors source, and runs again in M minutes if changes are detected.
[/MOT:M]
Specifies run times when new copies may be started.
[/rh:hhmm-hhmm]
Checks run times on a per-file (not per-pass) basis.
[/PF]
The default value of zero indicates that this feature is turned off.
Specifies the inter-packet gap to free bandwidth on slow lines.
[/IPG:N]
Copies the symbolic link instead of the target.
[/SL]
The default value of zero indicates that this feature is turned off.
Creates multi-threaded copies with N threads. Must be an integer between 1 and 128.
The MultiThreadedCopiesCount parameter cannot be used with the /IPG and EnableEfsRawMode parameters.
[/MT:N]
What to copy for directories (default is DA).
(copyflags: D=Data, A=Attributes, T=Timestamps).
[/DCOPY:copyflags]
Do not copy any directory info.
[/NODCOPY]
Copy files without using the Windows Copy Offload mechanism.
[/NOOFFLOAD]
Current File Progress reported as
Current File Progress Percentage
Information about an Error reported by the RoboCopy process
Error Description
Error Code
Options related to the output logs generated by RoboCopy
Do not copy, timestamp or delete any files.
[/L]
Report all extra files, not just those selected.
[X]
Produce verbose output, showing skipped files.
[V]
Include source file time stamps in the output.
[/TS]
Include full path names of files in the output.
[/FP]
Print sizes as bytes in the output.
[/BYTES]
Do not log file sizes.
[/NS]
Do not log file classes.
[/NC]
Do not log file names.
[/NFL]
WARNING: If this is set to TRUE then GUI cannot handle showing progress correctly as it can't get information it requires from the log
Do not log directory names.
[/NDL]
Do not log percentage copied.
[/NP]
Show estimated time of arrival of copied files.
[/ETA]
Output status to LOG file (overwrite existing log).
[/LOG:file]
Output status to LOG file (append to existing log).
[/LOG+:file]
Output status to LOG file as UNICODE (overwrite existing log).
[/UNILOG:file]
Output status to LOG file as UNICODE (append to existing log).
[/UNILOG+:file]
Output to RoboSharp and Log.
[/TEE]
Do not output a Job Header.
[/NJH]
Do not output a Job Summary.
[/NJS]
WARNING: If this is set to TRUE then statistics will not work correctly as this information is gathered from the job summary part of the log
Output as UNICODE.
[/UNICODE]
Encase the LogPath in quotes if needed
Message Type reported by RoboCopy
Details about a FOLDER
Details about a FILE
Status Message reported by RoboCopy
Contains information about the current item being processed by RoboCopy
Description of the item as reported by RoboCopy
File Size
Folder or File Name / Message Text
Helper class to build a object.
RoboCopy Exit Codes
No Files Copied, No Errors Occured
One or more files were copied successfully
Some Extra files or directories were detected.
Examine the output log for details.
Some Mismatched files or directories were detected.
Examine the output log. Housekeeping might be required.
Some files or directories could not be copied
(copy errors occurred and the retry limit was exceeded).
Check these errors further.
Serious error. Robocopy did not copy any files.
Either a usage error or an error due to insufficient access privileges on the source or destination directorie
Results provided by the RoboCopy command. Includes the Log, Exit Code, and statistics parsed from the log.
Information about number of Directories Copied, Skipped, Failed, etc.
Information about number of Files Copied, Skipped, Failed, etc.
Information about number of Bytes processed.
Output Text reported by RoboCopy
Returns a string that represents the current object.
A string that represents the current object.
Object that evaluates the ExitCode reported after RoboCopy finishes executing.
Initializes a new instance of the class.
ExitCode as reported by RoboCopy
ExitCode reported by RoboCopy converted into the Enum
Returns a string that represents the current object.
Contains information regarding average Transfer Speed
Average Transfer Rate in Bytes/Second
Average Transfer Rate in MB/Minute
Returns a string that represents the current object.
Information about number of items Copied, Skipped, Failed, etc.
Total Scanned during the run
Total Copied
Total Skipped
Total that failed to copy or move
Total Extra that exist in the Destination (but are missing from the Source)
Returns a string that represents the current object.
Parse a string and for the tokens reported by RoboCopy
New Statistic Object
Add the results of the supplied Statistics object to this Statistics object.
Statistics Item to add
Add the results of the supplied Statistics objects to this Statistics object.
Statistics Item to add
Combine the results of the supplied statistics objects
Statistics Item to add
New Statistics Object
Combine the supplied objects, then get the average.
Array of Stats objects
New Statistics Object
RoboCopy switches for how to react if a copy/move operation errors
Specifies the number of retries N on failed copies (default is 0).
[/R:N]
Specifies the wait time N in seconds between retries (default is 30).
[/W:N]
Saves RetryCount and RetryWaitTime in the Registry as default settings.
[/REG]
Wait for sharenames to be defined.
[/TBD]
Wrapper for the RoboCopy process
Value indicating if process is currently paused
Value indicating if process is currently running
Value indicating if process was Cancelled
Value indicating if the process should be killed when the method is called.
For example, if the RoboCopy process should exit when the program exits, this should be set to TRUE.
Handles
Occurs each time a new item has started processing
Handles
Occurs when an error occurs while generating the command
Handles
Occurs when the command exits due to an error
Handles
Occurs when the command exits
Handles
Occurs each time the current item's progress is updated
Create a new RoboCommand object
Pause execution of the RoboCopy process when == false
Resume execution of the RoboCopy process when == true
Start the RoboCopy Process.
Returns a task that reports when the RoboCopy process has finished executing.
Kill the process
The RoboCopyResults object from the last run
>
IDisposable Implementation
Return the Results object
Setup the ErrorToken and the path to RoboCopy.exe.
Specify the path to RoboCopy.exe here. If not set, use the default copy.
RoboCopy Switches that determine which folders and files are selected for copying/moving
Copies only files for which the Archive attribute is set.
[/A]
Copies only files for which the Archive attribute is set, and resets the Archive attribute.
[/M]
This property should be set to a string consisting of all the attributes to include (eg. AH; RASHCNETO).
Includes only files for which any of the specified attributes are set.
[/IA:attributes]
This property should be set to a string consisting of all the attributes to exclude (eg. AH; RASHCNETO).
Excludes files for which any of the specified attributes are set.
[/XA:attributes]
Files should be separated by spaces.
Excludes files that match the specified names or paths. Note that FileName can include wildcard characters (* and ?).
[/XF File File ...]
Directories should be separated by spaces.
Excludes directories that match the specified names or paths.
[/XD Directory Directory ...]
Excludes changed files.
[/XC]
Excludes newer files.
[/XN]
Excludes older files.
[/XO]
Excludes extra files and directories.
[/XX]
Excludes lonely files and directories.
[/XL]
Includes the same files.
[/IS]
Includes tweaked files.
[/IT]
Zero indicates that this feature is turned off.
Specifies the maximum file size (to exclude files bigger than N bytes).
[/MAX:N]
Zero indicates that this feature is turned off.
Specifies the minimum file size (to exclude files smaller than N bytes).
[/MIN:N]
Specifies the maximum file age (to exclude files older than N days or date).
[/MAXAGE:N OR YYYYMMDD]
Specifies the minimum file age (exclude files newer than N days or date).
[/MINAGE:N OR YYYYMMDD]
Specifies the maximum last access date (excludes files unused since Date).
[/MAXLAD:YYYYMMDD]
Specifies the minimum last access date (excludes files used since N) If N is less
than 1900, N specifies the number of days. Otherwise, N specifies a date
in the format YYYYMMDD.
[/MAXLAD:N or YYYYMMDD]
Excludes junction points, which are normally included by default.
[/XJ]
Assumes FAT file times (two-second precision).
[/FFT]
Compensates for one-hour DST time differences.
[/DST]
Excludes junction points for directories.
[/XJD]
Excludes junction points for files.
[/XJF]
taken from https://stackoverflow.com/a/49641055