Essential software: Link Shell Extension

One of the key ingredients in many of my Dropbox ‘hacks’ is the symbolic link.  In a nutshell, symbolic links are like post-it notes that tell your computer “Hey, I moved these files. Here’s a map to where they are now, but just pretend like they’re in the original spot. Kthxbai!”  If you’ve ever created a shortcut in Windows, this may sound like the same thing.  The crucial distinction is that most programs will follow the map to the relocated files and behave as if they are still in the original location.  Why is this so great?  Because it allows you to both 1) surpass one of the chief ‘limitations’ of Dropbox and 2) save virtually any file or folder on your computer to the cloud, either for backup or to sync between multiple devices.  It also allows you to move files from small, crowded drives (like a solid state drive) to larger or more spacious drives, hopefully without breaking any functionality in the process.

Anyway, symbolic links are normally created using the command line interface, which is tedious and leaves a lot of room for error (e.g., accidentally mistyping one character could leave your files in limbo).  Enter Link Shell Extension.  This freeware utility adds a context menu inside the Windows File Explorer.  Whenever you right click on a file or folder, you’ll see a new option to “Pick Link Source.”  After picking a source, you can navigate to another folder and right click again to ‘Drop’ the source as any of a number of types of links.  For my purposes, I always use symbolic links.

I’ll show some specific examples of files that I’ve moved to Dropbox and symbolically linked to their original location in other posts.  For now, I’ll just outline the general method:

  1. Locate the files you want to move. It’s probably best to move the entire folder, so you can more easily keep track of everything — and in case additional files are generated or added to the folder in the future.
  2. Copy the folder/files, either with Ctrl+C or using the right-click context menu.
  3. Navigate to wherever you want the files to reside–either inside your Dropbox, if you’d like to sync them to the cloud, or to a more spacious drive if you’re trying to save space on your SSD.
  4. Paste the folder/files.  You may want to create a new folder just for storing and organizing all of your symbolically linked files.
  5. Now return to the original files/folder and delete them.  This will free up the space they were using.  Alternatively, you could cut and paste in step 2 instead of copying, but if your system encounters problems while removing the files (e.g., files that are still in use by a running program), it can make a mess of things–some files will be deleted, others won’t.  I prefer copying and then deleting because I know I have a full backup of everything sitting in my destination folder, so I can use every tool at my disposal to delete the originals without worrying about losing anything.
  6. Navigate to your copied files, e.g. in the folder you created inside your Dropbox folder.  Once you’ve installed Link Shell Extension, use the new context menu option to select this folder as the Link Source: link-shell-start
  7. Now navigate back to the original location of the files you copied/cut/deleted, and right-click again to use Link Shell Extension to Drop the source as a symbolic link:link-shell-drop
  8. Voila!  Your computer will basically treat the symbolically linked files as if they were never touched; if you edit them, the changes will still be saved just like before.  The difference is that they are now physically stored in a different location, and if they’re inside your Dropbox, you can share them with your other devices.  This means that even if you didn’t install a given program inside your Dropbox folder to begin with–or if the program stores its configuration files in another directory, like C:\Users… or C:\AppData…– you may still be able to sync those files while satisfying the program’s insistence on locating its files in predetermined folders on your C drive.  I’ll offer some more concrete examples of how this is a handy feature in future posts.

Head on over to the source page to download Link Shell Extension or to read a LOT more about all of the program’s functions.  If you find it useful like I do, please send a donation to Hermann Schinagl, the creator.


Link Shell Extension

One thought on “Essential software: Link Shell Extension”

Leave a Reply