Robocopy single- and multithreaded benchmark on Windows 7

A commenter of my robocopy article asked me if a multithreaded copy tool like robocopy is really faster then a single threaded copy tool like xcopy as normally the harddisk is the bottleneck and not the CPU when copying files. As I did not found any benchmarks, I decided to do my own benchmark. Here are the results:

In my test, I copied a folder hierarchy with 429 directories and 6313 files with a overall size of 522 MB. I've run every test 2 times to ensure that the speed differences are not caused by filesystem caching. I know that this test was not made under scientific conditions, so if you have your own results, feel free to post them here as comment.



xcopy D:\server\test D:\tmp\test /D /E /Y /Q

Time to copy files

First run: 42 seconds
Second run: 41 seconds

robocopy with 1 thread


robocopy D:\server\test D:\tmp\test /MT:1 /E /LOG:d:\tmp\robocopy.log

Time to copy the files

First run: 43 seconds
Second run: 41 seconds

robocopy with 10 threads


robocopy D:\server\test D:\tmp\test /MT:10 /E /LOG:d:\tmp\robocopy.log

Time to copy the files

First run: 38 seconds
Second run: 36 seconds

Conclusion: Using a multithreaded copy tool like robocopy with 10 threads speeds up file copying and makes sense if you have to copy a large number of files. At least on my system.

Copy files faster in Windows 7 with robocopy

Windows 7 comes with a new version of the robocopy command that is able to copy files much faster then the normal copy command or copy function of the file explorer by using several simultanious threads. So if you plan to copy a large number of files, e.g. to make a backup, use the robocopy command.

Example Copy files from C:\myFiles to F:\backup and use 10 simultanious threads. To execute robocopy, open the windows shell window or press the keys [Windows] + [R] to open the windows command line, then enter the command:

robocopy C:\myFiles F:\backup /MT:10

To get the full list of robocopy options, execute the command:

robocopy /?

For Windows XP or Vista, you can get the robocopy command from the Microsoft Resource Kit Tools

How to link a network drive into a folder on Windows 7

Have you ever tried to install a software on a network drive or use a network drive as data directory were the software installer checks for the drive type and refuses the installation on network drives? A workaround that helped me in these cases is to use a symlink on Windows. For example, the application wants to put its data in the path C:\ProgramData\appname but you want the data to be stored on the mapped network drive X:\mydata\appname, you can use the following command on the windows commandline to symlink the directorie:

mklink /d "C:\ProgramData\appname" "X:\mydata\appname"

The benefit is, that the application installer detects now C: as valid local harddrive and uses the symlinked path to store its data on the network drive X:\mydata\appname.

The general syntax for the mklink command is:

mklink /d symlinkpath targetdirectory

How to access all system settings, the so called “GodMode”, in Windows 7

The "GodMode" in Windows 7 is a special folder which contains links to all system settings that are available in Windows 7. To Access this function, create a new folder (e.g. on your desktop or home directory) with the following name:


and save it. If you open this folder, you will get a list of all admin functions of Windows 7, there are also many functions listed that are normally not available in the Windows 7 system settings.

How to fix the spamassassin bug with the FH_DATE_PAST_20XX rule

Since january 1 2010, spamassassin is falsely marking non spam emails as spam due to an error in the regular expression of the FH_DATE_PAST_20XX rule.

Description of the bug:

To fix this, run the following command on the shell as root user:


If you use the software ISPConfig 2 on your server, run this command:


How to renew the SSL certificate for dovecot on CentOS

Make a backup of the old key and certificate file

mv /etc/ssl/certs/dovecot.pem /etc/ssl/certs/dovecot.pem.old
mv /etc/ssl/private/dovecot.key /etc/ssl/private/dovecot.key.old

Create the new SSL certificate

openssl genrsa -out /etc/ssl/private/dovecot.key 1024
openssl req -new -x509 -key /etc/ssl/private/dovecot.key -out /etc/ssl/certs/dovecot.pem -days 730

Restart Dovecot:

/etc/init.d/dovecot restart