Find Bitsum On Google+ Find Bitsum On Twitter Find Bitsum On Facebook
→ TRY OUR NEW WEBSITE!
BE OPTIMAL - Real-Time CPU Optimization & Automation!
[ back to Bitsum Technologies ] WARNING: This software is currently in alpha stage development! This document is not complete, nor is the software. Much remains left to do. If you think this software is worth developing, please donate to the cause. Use with caution.
 
SHJunction (v0.22 alpha)
(c)2006 Jeremy Collake
Bitsum Technologies (www.bitsum.com)
For Windows 2000, XP, 2003, Vista only

(105Kb) Download for Windows
(109Kb) Download for Windows x64

(skinned via WindowBlinds)

 

 

SHJunction is a small freeware application to manage NTFS virtual folders.

What is a virtual folder?

A virtual folder is sometimes called a junction point or (pseudo) symbolic link. It is a folder that is actually a link to another folder. For example, a person could create a virtual folder called "C:\AFOLDER" that is a link to "E:\ACTUALLY\THIS\FOLDER". In this way, a virtual folder is an alias for another folder.

What use is this?

There are many uses for virtual folders.

One use is to move a folder such as My Documents to another volume (drive) with more available space without having to change the path of the My Documents folder. To do this one would move the My Documents folder to another volume, then create a new virtual folder where the My Documents folder originally was that links to the folder on the other volume.

Another use is to make a long (deep) path into a short one. For example, a virtual folder "C:\SMALLPATH" that links to "C:\SOME REALLY\LONG\PATH".

What if I delete a virtual folder?

One should only remove virtual folders from within SHJunction or a compatible application. Most file managers delete folders recursively, so they will usually delete the 'real' target folder (and/or contained files) along with the virtual folder.

How does this work?

Virtual Folders are actually folders that are NTFS reparse points of the 'mount' type. Introduced in NTFS v5 (Windows 2000), they are file system objects, and therefore will persist even if you uninstall SHJunction or access the volume from a different computer or operating system installation.

The terminology behind reparse points is somewhat convoluted. Junction points, symbolic links, soft links, hard links, and virtual folders are just some of the terms used to refer to different types and applications of NTFS reparse points.

NTFS reparse points are used by the Disk Manager to mount a volume to a subfolder. So with SHJunction you'll see any volumes you have mounted to a subfolder of another volume. SHJunction does not allow you to remove these mount points for safety concerns. You should use the Disk Manager to change how your volumes are mounted.

Reparse points can also be used on files, commonly referred to as hard-links. However, SHJunction does not currently support file reparse points since this is less commonly useful and would complicate use of SHJunction.

So if Windows supports it at the device level, why hasn't Microsoft built reparse point creation into explorer?

Apparently Microsoft believes this technology might cause confusion to the end user. However, the lack of true explorer support means that reparse point deletion isn't handled as gracefully as it should be and can result in accidental deletion of the 'real' backing folder. They had planned to add this support to Windows Vista, but have now backed out of that.

Is this utility free?

Yes. We are also publishing the source code soon. If you would like to help support development, please donate to us through the PayPal link below. SHJunction is written and maintained by a single developer, Jeremy Collake, and without your support development can not continue.

If development does continue, here is what remains to be done:

Todo List:

  • Better shell integration, including icon overlays and smarter context menu items.
  • Localization.

Donators will receive a 'Supporter' version of this software when it is available and access to our User Services area. In addition, we give priority support to donators.

Credits/Acknowledgements:

Mark Russinovich's SysInternals Junction utility provided the idea for this tool, as well as information on implementation.
XMessageBox by Hans Dietrich provides the base for the enhanced MessageBox.

See JunctionMaster/MoveAndLink for a newer derivative of this project.

SHJunction

SHJunction is a small utility created by Bitsum Technologies several years ago. We offer it as a freeware offering to the community.

When SHJunction is installed it allows you to easily create and enumerate (list) NTFS reparse points. These are virtual folder links, similar to POSIX symlinks. For instance, the folder C:\MyStuff could point to F:\MyRealStuff . There would be no indication the backing folder is really on drive F, everything would appear as if it is on drive C. This feature has been built into the NTFS filesystem since its inception, but is rarely used (perhaps Microsoft fears confusing users). Even in Windows Vista and Windows 7, where this functionality was a little more exposed, it is largely hidden and not well supported.

We ceased development on this utility when we became aware of NTFSLink, a freeware alternative. However, it was found our utility had something to offer after all - for some it was the better choice. One thing it can do that NTFSLink can't is enumerate reparse points, so you can visualize what links you already have. For instance, open SHJunction and put C:\ and hit 'Go' and you'll see a list of all the reparse points in that folder. For me, I have one "c:\dev" that points to my development drive, and another "c:\stores" that points to my large data storage.