Thursday, April 26, 2012

SkyDrive for Windows, single folder tree sync getting you down? Want to sync any folder? Two words, "Directory Junctions" (oh and "Explorer Extension" too)

Bitdisaster - Sync any folder to SkyDrive

"With the arrival of the new SkyDrive app we are finally able to take advantage of the 25GB online storage. The new app allows you to sync a specific folder to your online storage like Dropbox. It is very simple; just drop whatever you want into the SkyDrive folder and it’s up to the cloud. But it also comes with the same limitations like Dropbox. If you are a Live Mesh user then you probably appreciate that you can sync any folder on your hard drive to the cloud not matter where it is located. This is a very nice feature because it allows you to keep your existing folder structure. For some reason this feature didn’t make it into the SkyDrive app and Live Mesh will be discontinued soon.

NTFS to the rescue

Fortunately NTFS has some nice feature that we barely use but can be very useful. One of them is symbolic links or folder junctions. Basically it allows you to mount a folder into another folder, so it looks like the folder is physically located there. So my thought was – if the Explorer can’t see it then SkyDrive can’t see it and will handle them as regular folders. The command to create such a link is:

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

The /D parameter creates a symbolic directory link and it was my first try because they are recommended over directory junctions /J but SkyDrive crashed with symbolic links while directory junctions worked with no problems. Plus, we don’t need admin rights to create junctions. If you execute the command then a junction will be created that like a folder and SkyDrive starts syncing its content.


While the command line just works fine I wanted a more convenient way to sync my folders; a perfect match for a shell extension. So I spent a couple of hours on implementing a little helper that can be downloaded as 64 bit version here SkyDriveShellEx_x64 [GD: Click through for the link] and 32 bit version here SkyShellEx_x32 [GD: Click through for the link] If you want to have a look at the source code first then you can find it here SkyShellEx_Project [GD: Click through for the link].




I love that he hosted his binaries/and source on SkyDrive. :)

As I said the other day, this is just the first of what I bet is a big wave for these kinds of hacks.


Related Past Post XRef:
Adding a simple "Send to... SkyDrive" to Windows Explorer
SkyDrive users take note! Want to keep your free 25GB storage (and not be cut to 7GB)? You need to take advantage of the free upgrade now...

MetroSky - End to end Windows Phone 7 SkyDrive sample code and app
SkyDrive API Link Round-Up
Code sample to access SkyDrive Photos API from WP7 (or any REST/OAuth/JSON enabled device/OS)
More information on integrating Windows Live, Hotmail and SkyDrive with your App's

The top 150 Geek-a-licious Windows utilities list by AddictiveTips
Directory Linker – Simple symbolic directory link utility for Vista/Windows 7
Junction Shell Extensions 1.1 Released

No comments: