Using windows file explorer to copy a large folder is, indeed, not very helpful for two reasons.
- The main reason is that the file copy may fail for one reason or another, but it never returns and it will appear as if copying is still in progress where, in fact, it'ts just stuck. This can waste a lot of time of user.
- If it failed due to error, it doesn't tell why it failed, what was the problem.
For example a file copy may fail because amid 40 GB data, there was one invalid shortcut where the target was missing. This will fail the copy but user will neer know and it will appear as if the copying is still in progress. There could be other reasons of failures that we we wouldn't know.
- It's best to copy large folders on command line and use `xcopy'. The benfit is that if it fails, it will return immediatly and you will know. That said it will still fail with above situation (invalid shortcut) but will error out correctly.
- The best Selection is to deploy a blind copy which doesn't care about the files but copy bits to bits. The best tools are
rsync but they are not readily available on Windows.
Using SCP on Windows
Install cygwin on Windows and use
scpcommand from its shell the following way assuming to copy c:\BigFolder to a USB drive F:\BigFolderBackup/
scp -r /cygdrive/c/BigFolder/ /cygdrive/f/BigFolderBackup/
Where -r is for recurrsive copy which means copy all subfolders and their files.
As noted by Scott in comments, since its copy on local machine so
cp will do as well. Syntax is essentially identical.
Another scenario I came across is when a folder contain a file where I didn't had permssions to read. Our IT department doesn't allow users to run CCleaner utility so read permission is disabled on it.
cp this time and it performed nicely. It reported appropriate error on this file (didn't copy it) but didn't halt the copy operation and it continued with copying everything else. Another reason that this approach wins.
scp (and probably
cp) modifies file ownership which can cause problem with read/write access. Adding
p flag should address that as noted in this article. Another way is to use
-g flags as noted in this answer to preserve ownership of files.