Up the Junction

If you are familiar with Unix and other operating systems – you will have no doubt come across symbolic links

However I find that a lot of Windows admins don’t see the appeal or benefit of being able to redirect users to another directory. So when a client requirement meant that I needed to move several folders out of a heavily used  mapped network share but still retain access to it. Using a utility from Mark Russinovich Junction provides as very simple means to create NTFS junctions. I’ll summarise the usage here – the link is where you can download from. In my case it was the junction64 for 64 bit OS that was needed. Once the junction is created it will operate just as  a normally created directory.


Windows 2000 and higher supports directory symbolic links, where a directory serves as a symbolic link to another directory on the computer. For example, if the directory D:\SYMLINK specified C:\WINNT\SYSTEM32 as its target, then an application accessing D:\SYMLINK\DRIVERS would in reality be accessing C:\WINNT\SYSTEM32\DRIVERS. Directory symbolic links are known as NTFS junctions in Windows. Unfortunately, Windows comes with no tools for creating junctions—you have to purchase the Win2K Resource Kit, which comes with the linkd program for creating junctions. I therefore decided to write my own junction-creating tool: Junction. Junction not only allows you to create NTFS junctions, it allows you to see if files or directories are actually reparse points. Reparse points are the mechanism on which NTFS junctions are based, and they are used by Windows’ Remote Storage Service (RSS), as well as volume mount points.


Note that Windows does not support junctions to directories on remote shares.

If you want to view reparse information, the usage for Junction is the following



Using Junction

Use junction to list junctions:

Usage: [-s]

-s Recurse subdirectories


To determine if a file is a junction, specify the file name:

junction c:\test

To list junctions beneath a directory, include the –s switch:

junction -s c:\

To create a junction c:\Program-Files for “c:\Program Files”:

C:\>md Program-Files

C:\>junction c:\Program-Files “c:\Program Files”

To delete a junction, use the –d switch:

junction -d c:\Program-Files