How to copy files pointed to (not the shortcut files themselves)

I have a folder containing shortcuts that point to files that are located in various directories and drives. I would like to copy the files pointed to (NOT the shortcut files themselves) to a single destination folder.

Is there a way in windows (XP, Vista, 7), file manager, or some utility I can use to do this?

I've heard you can do this with various multi-step custom scripts. However, I've heard rumors there is a one click way to do this without having to fabricate a custom script each time, where regardless where the shortcuts point to, I can select the group of shortcuts and do a copy operation that will grab the files they point to. Then, I can paste or otherwise put the actual files (not shortcuts) into one directory.

It would be very time consuming to manually find each file pointed to by a shortcut and one by one copy them to the target folder.

Note that I've seen this question asked before on the internet but haven't seen a good answer.


Solution 1:

I think the answer is no because a shortcut is not really a symbolic link in the same way it is in linux. The concept of symbolic link was introduced as part of NTFS 5.0, but they apply to directories, not files. Things may have changed in windows 7, I admit to being clueless there. Shell-shocked has a good article on Windows Symbolic and Hard Links.

It would be cool to be proven wrong on this one, because this is a problem I would love to have a solution to at work!

Solution 2:

I've found a very easy method of copying the files shortcuts are pointing to rather than the shortcuts themselves:
Add the selection of shortcuts to ZIP (via the shell extension). Then the original files automatically get zipped and not the shortcuts.
Extracting the content of the ZIP file into a location of your preference gets the job done perfectly and quickly.

Solution 3:

You can also use the filemanager Total Commander and the plugin CopyLinkTarget to copy the link targets very easily.

Solution 4:

As an alternative workaround, I found Microsoft Groove very helpful. Files can be dropped into a Groove workspace as a temporary placeholder (like a zip file). Then drag and drop the files from the Groove workspace onto the destination folder in Windows Explorer.