What is the difference between a 'symbolic link' versus a 'junction' when use 'Link Shell Extension' ? Please explain.
I know this has been answered a while ago, but I was wondering the same thing and found this answer.
The accepted answer is actually not quite correct.
There are symbolic links to files and directories. There are hard links to files.
"Hard links" to directories are called junctions. The thing is, they are not quite hard links. Microsoft calls them Soft links.
"A junction (also called a soft link) differs from a hard link in that the storage objects it references are separate directories, and a junction can link directories located on different local volumes on the same computer. Otherwise, junctions operate identically to hard links. Junctions are implemented through reparse points."
A symbolic link can be relative to a base directory. A junction point always references the destination absolutely. Even if you create the junction point without specifying an absolute path
linkd source destination the created junction point is absolute and will be broken, if you move the two directories into another directory.
A symbolic link is a reference to a file object in another part of a file system. Think of it like an alias. A junction is like a symbolic link for directories. You can basically associate two paths to reach the same directory.
I would not recommend using them unless you have a really good reason.