Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is a better file copy alternative than the Windows default? [closed]

People also ask

Is TeraCopy faster than Windows copy?

Yes, TeraCopy is a faster data transfer tool than Windows 10.

What is better than XCopy?

The average Disk Read Transfer is better for XCopy (76.15 MB/Sec vs. 75.28 MB/Sec), the minimum Disk Read Transfer is better for Robocopy (4.74 MB/Sec vs. 0.00 MB/Sec) and the maximum Disk Read Transfer is better for XCopy (218.24 MB/Sec vs. 213.22 MB/Sec).


Use Robocopy (Robust File Copy).

NOTE:

In Windows Vista and Server 2008 when you type:

xcopy /?

you get:

NOTE: Xcopy is now deprecated, please use Robocopy.

So start getting used to robocopy :)


How about good old Command-Line Xcopy? With S: being the source and T: the target:

xcopy /K /R /E /I /S /C /H /G /X /Y s:\*.* t:\

/K Copies attributes. Normal Xcopy will reset read-only attributes.

/R Overwrites read-only files.

/E Copies directories and subdirectories, including empty ones.

/I If destination does not exist and copying more than one file, assumes that destination must be a directory.

/S Copies directories and subdirectories except empty ones.

/C Continues copying even if errors occur.

/H Copies hidden and system files also.

/Y Suppresses prompting to confirm you want to overwrite an existing destination file.

/G Allows the copying of encrypted files to destination that does not support encryption.

/X Copies file audit settings (implies /O).

(Edit: Added /G and /X which are new since a few years)


You can try TeraCopy or RoboCopy.


I would definitely prefer:

1) Teracopy - GUI based, replaces the default Windows copy/move UI and adds itself to context menu. Basic version is free (for home use I guess).

2) Robocopy - CLI based, useful when scripting. Free tool from MS and is included in Vista/Windows 2008. MS Technet has a GUI for robocopy as well - useful to create statements that you can later embed in scripts or on the command prompt.

PS: I know these have been already suggested here and I would have voted on them, if I could.


You really need to use a file Sync tool, like SyncBackSE, MS SyncToy, or even something like WinMerge will do the trick. I prefer SyncBack as it allows you to set up very explicit rules for just about every possible case and conflict, at least more so than the other two. With any of these you won't have to keep clicking all the pop-ups and you can verify, without a doubt, that the destination is exactly the same as the source.


You can try SuperCopier, it replaces the standard Windows copy mechanism while loaded.

It can retry failed files at the end, resume a canceled copy (even a copy canceled by Windows), accepts "All" for every answers. You can even answer the annoying questions (file already exists, error copying file) before they occur.


Big thumbs up for robocopy. I use it for doing the sort of things you mention.

For example I'm currently running 5 robocopy sessions on my server where I'm copying about 60GB of files between 3 remote servers, I'm connected to two via a CheckPoint VPN and the other is an Amazon S3 space mapped via JungleDisk.

I'm working with a colleague at the other end of the country. He'll log in to the same servers later tonight and run a similar set of robocopy batch files to download all the changes I'm currently uploading.

The 'killer app' feature is that robocopy will retain file date/time stamps and, by default will ONLY copy files that are different. So you can point it at a huge dir tree and only changed files will be copied.

Here's some useful tips for doing this sort of thing...

/MIR mirrors a dir tree so will delete as well as add

/R:10 tells robocopy to try 10 times to copy the file before giving up. The default is 1,000,000 times

/LOG+somefilename.log will append the screen output to somefilename.log, creating it if necessary.

/XD dir1 dir2 will ignore any dirs named dir1 or dir2 in the copy. Wildcards can be used.

/FFT will use FAT time stamps which are less accurate than NTFS (uses a 2 sec granularity in timestamps). I also find this one useful when copying between Linux file systems and NTFS.

I typically use something like

robocopy d:\workdir y:\workdir /TEE /LOG+:d:\update.log /MIR /R:5

which will mirror (/MIR) d:\workdir with y:\workdir, append a log of what it does to d:\update.log (/LOG+d:\update.log) writing output to both the console and the log file (/TEE), and try each file 5 times before moving on to the next one.

It also works with UNC paths.

If you've got a large collection of files that need syncing over a number of PCs then robocopy is your friend.