How do I ... use RichCopy for high-powered file copy and transfers?

If you copy large amounts of files or have a need to copy from one machine to another – RichCopy is the tool for you. Jack Wallen shows you how it works.

If you've worked with Microsoft Windows long enough, you may have already heard of RichCopy. If not, you have been missing one of the most powerful copy/transfer tools available for the Windows operating system. This tool was created by Microsoft engineer Ken Tamaru in 2001, and it boasts a number of amazing features, including:

  • Multithreaded copy
  • Pause/restart
  • Granular control
  • Timer
  • Purge original
  • Move
  • Destination check
  • Profiles
  • File exclusion/inclusion
  • FTP copy
  • Command-line options

Of course, RichCopy is not for the average user. Anyone who thinks Ctrl-C / Ctrl-V is good enough can skip RichCopy. This tool is for power users. If you copy large amounts of files or have a need to copy from one machine to another -- RichCopy is the tool for you.

This blog post is also available in PDF format as a free TechRepublic download.

Getting and installing

Installing is simple. Download the RichCopy executable file (HoffmanUtilitySpotlight2009_04.exe), double-click it, and watch the RichCopy installer do its thing.

Once it is installed, you will find RichCopy in the Start menu under the Microsoft Rich Tools submenu. To start RichCopy, click on the RichCopy subdirectory and then the RichCopy entry.

Main window

Once you open RichCopy, you will immediately see how user-friendly this powerful tool is (Figure A). Using RichCopy is simple:
  • Select a source file(s).
  • Select a destination.
  • Click the start button.

Of course, that is a very basic copy action.

Figure A

Once you click the Options button, you will see how much power RichCopy has to offer.
Going beyond your basic copy action is simple. Click on the Options button to reveal the real meat and potatoes of RichCopy (Figure B).

Figure B

At first, the Options window can be a bit overwhelming.

Deciphering the options

Instead of looking at the options as a whole, make sure you break them down into their pieces:

  • Method: Are you moving, purging, consolidating?
  • Mode: How is the copying process happening?
  • Thread Number: How many threads do you want to use?
  • General Options: Which of the various options, including a timer, Ignore read-only flag, etc., fits your needs?
  • Copy If: When do you want files to be copied?

Let's take a closer look at the various options.


These options have to do with how the files are dealt with. By selecting one of these options, you can switch how RichCopy deals with your files. Here's how each option works:

  • Purge: This will empty the contents of a source directory (but leave the directory behind) when the copy is complete.
  • Move: Instead of copying the files, this will move the files to the destination.
  • Consolidate: This will move multiple sources into one destination directory.
  • Verify: This will compare with source file upon successful copy.


  • Trickle: This option is currently unavailable.
  • Preprocess: All files and directories are searched and checked before processing.
  • Wait Target: RichCopy will wait for the copy until the configured amount of time has expired.
  • Timer: You configure specific date/time for the process to occur.

Thread Number

  • Directory search: Specify number of threads to use for a directory search.
  • Directory copy: Specify number of threads to use for directory copy.
  • File copy: Specify number of threads to use for file copy.


  • Ignore read-only flag: If file has a read-only flag set, this will ignore it.
  • Directory creation only: Copy directories only (no files).
  • Create directory only when it has a child: If source directory has no child files or directories, the destination directory will not be created. In other words, do not create destination directory if source directory is empty.
  • Turn off system buffer: Do not use system cache for read/write.
  • Serialize disk access: Minimize overhead by serializing all access. This does not limit threading however.
  • Copy always: Do not compare files. This will force RichCopy to always copy.

Copy if...

  • Security: Compare security settings of files.
  • Availability: Check if the file exists in destination.
  • File size: Compare file sizes.
  • Attribute: Compare attributes of both source and destination files.
  • Time stamp: Compare time stamps of source and destination.

File filters

If you check the left pane of the options window, you will see, in the expanded tree view, two entries:

  • Files to be included
  • Files to be excluded

This is where you filter your files for copy. You will notice in the basic window that you can select only  directories to copy. This does you no good if you need to copy a single file or a group of files from a directory. It's not as simple as pointing and clicking to add files. What you need to do is set up conditions for the process.

Let's say you have a large directory filled with images for copying, but you want to copy only the latest additions. You can specify creation dates from the Files to Be Included entry, as shown in Figure C.

Figure C

You can create much more than time-based expressions for copying.

Check out the Creation date section. In this section you will want to select the Same or Newer than Following Date on either the Files or Directories section. Once the option is selected, you can configure both date and time of creation for determining which files to copy.

From this same window you can also use names. Say, for instance, you want to copy all files with the string IMG in the name. To do this, you would want to include the wild card character "*" in the Names section under Files like "*IMG*" (without quotes). This will copy all files with IMG in the file name to the destination.

NOTE: Once you set configuration options, those options will remain until you change them. You can create profiles by clicking the New button in the left pane. This way you can create multiple copy jobs with completely different options.

Final thoughts

If you are a power user or have large-scale copy jobs to undertake, do yourself a favor and use RichCopy. You will save yourself a lot of time and hassle.

Stay on top of the latest XP tips and tricks with TechRepublic's Windows XP newsletter, delivered every Thursday. Automatically sign up today!


Jack Wallen is an award-winning writer for TechRepublic and He’s an avid promoter of open source and the voice of The Android Expert. For more news about Jack Wallen, visit his website


This would be the answer to what I'm trying to do if the "use name to filter files" worked.  I click to box to use it, hit apply, close, then go back in and it's not checked.  I can't get that setting to stay at all.


Anyone REALLY know how to use MS Scheduler to schedule richcopy - I've seen lots of ideas on how to do it but never one that works ? Anyone actually done it ? can you please give a (working) example


Are you kidding? OI almost wet myself when I read your brilliant description o "Purge:" This will empty the contents of a source directory (but leave the directory behind) when the copy is complete." Are you sure? because it's really important to some folks NOT to loose data! Brian Myers


I'm not sure this description is very accurate- Richcopy won't let me select a -file- to copy, only folders. So I have set up two test folders (a and b) with a file in a, and I have set up RC to copy from a to b. But also, RC says it cannot find the file. The file name comes up in the RC window (test.avi, 700megs) but I get an error message 'file not found' in the window below. I'm trying to use RC to test the transfer speed of my computer serial vs. usb. vs. lan vs. NAS. RC is supposed to track the speed. But I can't get it to work.


Although RichCopy seems to work great, saving and recalling RCX Option Files does not. Is this a to-be-implemented function or am I missing something?


Just a note: if people don;t have the full range of options they should click teh advanced view. Learned the hard way :)


Jack, Jack, Jack! I've followed your posts for some time because YOU ARE LINUX. Now, some of your recent posts are all about Windows stuff. What gives? Are you backsliding or has your editor forced you to Windows things? As for RichCopy, it appears to be another bloated Windows app that is about nothing new in imperial (read Gatesian) clothes. Who cares? Let's get back to the linux exclusivity for which we (at least me) admired you. Sheesh! Jack Wallen on Windows


Never knew of this, nice, although it sounds like it uses RoboCopy under the hood: RoboCopy is awesome, but you have to like using the cmd line. WEe used RoboCopy to move sites around our environment, but with a SQl driven front-end so we could re-run jobs (or batches of jobs) at will, and know that the source/destination/options would be correct (because they weren't re-typed in by hand).

Mark W. Kaelin
Mark W. Kaelin

Do you use an application beyond the simple copy and paste? What do you use and how do you like?


you can't call the .rcx file in a scheduled task you need to stick it in a batch file and then run this in task scheduler. The app opens fully, then the .rcx file runs and closes when complete. As for it's issue as highlighted I haven't seen too many (robocopy is good too) but in this day and age it's time things were a quick and simple as possible so a decent GUI would help


Forget RichCopy; dangerous & buggy. Worse than a waste of time...Un-safe. Robocopy is now multi-threaded for Windows 7. See Greg Shultz's excellent article Oct 26th. Robocopy is ideal for use with scheduled tasks.


to me at all. 1- set my drive paths and copy options. 2- run the job to test. 3 - save job as rcx file 4 - retry next day - open the rcx file - does not recall the paths and options, error 'cant read copy options from file' I did RTFM but no help with errors at all. is there a version 4.1 where this works?


Congrats to you, for getting Robocopy to work. I used the GUI version, or, er, tried to use the GUI version, to no avail. I never got it to work. Rich Copy is not exactly the most stable application, but when it did work, it moved files across a campus network beautifully. But one question, how do you get it to retain file/folder permissions. I checked the appropriate boxes and still wouldn't retain them.


i haven't tried the two others referenced here as i have been using xxcopy for many years and it was always done the job for me. especially like the /bu "backup" which allows u to only copy files that have changed and the /clone switch that also only copies files that have changed but also removes files that don't exist in source. i use it quiet often in batch file for client to be able to run a quickie backup of important data before doing things that could go south such as closing the end of the month in their dental practice software. will take a look at those anyway BE SURE TO MARK as HELPFULL any posts that are helpfull so others can benifit as well.


Your'e not wrong! 30min and I made what I wanted using Robocopy - just had to install Robocoy in System 32 (on my server) and make the script.cmd file and schedule it in Windows Scheduler - magic, Thanks Mike


inappropriate place to ask question, I've moved it sry


Ok, I have had some success coping permissions with rich copy. However, I had to do it via command line. The cool part is that this command multithreads the coping. I have copied about 108 GB/hr from one server to the next. When you run this command the gui will pop up and show what is being copied. However, the best part is that permissions have been copied every time now. E:\richcopy 4.0\richcopy "\\servername\share\source" "\\Servername\share\destination" /SEC /CDSD /CSA /CSG /CSO /CSS /TS 15 /TD 60 /TP 15 /QO "R:\report.log" /UE /US /UD /UC /UFC /USS /UCS /UPR


We just bought two new servers for upgrading, one of which was for our file server. We did several tests with command line xcopy, GUI Rich Copy and command line RoboCopy using different combinations with their options/switches. Rich Copy was the fastest but we couldn?t get it to preserve the ACLs. So, we opted to go with RoboCopy which preserved all the ACLs.


Is your destination drive NTFS? If not, there is no support for ACL.


You need the /sec option in robocopy. I have not used RichCopy.


Yes, it was from W2k3 R2 to the same OS. I don't know why it wouldn't work. I had the same problem as the post below, but with both Robocopy and RichCopy. Oh well, I re-did the ACL's by hand.

Editor's Picks