Windows – How To Create ‘Transparent’ or ‘Undetectable’ Symbolic Links With NTFS

ntfswindows

I'm currently using three 'cloud' services (Google Drive, Dropbox and SkyDrive). However, they are not very customizable; I've been unable to set all three services to sync the same local folder. And, because different services have different space limits, I want them to have a seperate local folder.

For example, I have the follow:

  • C:\Users\me\Google Docs\
  • C:\Users\me\SkyDrive\
  • C:\Users\me\Dropbox\

I have some 'super important' documents that I keep in another location

  • D:\Documents\IMPORTANT

Because these are 'important' I want them sync'd to all three services as soon as I create something in that folder.

I've used MKLINK in an attempt to do this:

MKLINK [[/D] | [/H] | [/J]] Link Target

Inside of each three local folders, I've used MKLINK to create a link to D:\Documents\IMPORTANT – It appears to work. Locally I see the folder, and can navigate to it. I only have a single copy of each file – everything is great.

EXCEPT

Google Drive doesn't sync it.

It 'knows' that it is not a real directory and it treats it differently! This appears to be a known issue:
http://productforums.google.com/forum/#!topic/drive/vImyhTG7qWs%5B1-25-false%5D
http://blog.redhed.org/2012/04/use-existing-folder-for-google-drive.html

My understand of a symbolic link was that it was meant for exactly this situation. I want my applications to be unaware that the link is symbolic. I want them to simply see a folder with files in it. The OS, obviously, should handle this correctly 'behind the scenes'…but I would expect this to be transparent to the applications I'm running.

I'm starting to ramble, but, Is there anything I can use, besides MKLINK that will do, essentially, the same thing, but in a way that is 'transparent'?

Best Answer

Do you mean hardlinks? Use fsutil hardlink create

C:\Users\ultrasawblade>fsutil hardlink create 
Usage : fsutil hardlink create <new filename> <existing filename>    
Eg : fsutil hardlink create c:\foo.txt c:\bar.txt
Related Question