What is the benefit of copy over xcopy on the command line?

  1. xcopy is an external program, while copy is part of the interpreter (cmd.exe, command.com). This means that xcopy might not be present on another machine or a rescue disk.

    Since we have Windows and rescue CDs, that isn't really an issue anymore.

  2. copy can concatenate files.

    copy file1 + file2 file3
    

    creates a file (file3) which contains file1's and file2's contents.

  3. copy can copy more than just files.

    For example,

    copy con file
    

    lets you write directly from the keyboard (console) to file.

    Likewise, you can print a file using

    copy file prn
    copy file \\computer\printer
    

    where the latter is for shared printers.

    You can even combine the above: The command

    copy con prn
    

    lets you write directly to the printer.


I think the main difference is (or was) that xcopy is able to copy folder hierarchies and copy was intended to work on files only.
That being said, I don't think there is anything to gain (functionality- or performance-wise) from using copy.

Please note, even xcopy is outdated by today's standards. Robocopy is the new copy utility of choice on modern Windows platforms.

Also note that all the mentioned copy utilities have Wikipedia articles that could contain further information:

  • http://en.wikipedia.org/wiki/Copy_(command)
  • http://en.wikipedia.org/wiki/Xcopy
  • http://en.wikipedia.org/wiki/Robocopy