mklink not installed on Windows 7?

I just installed Windows 7 Pro, and I'm configuring it to my preferences. I go to set up a symbolic link (since it supports symlinks).

But I don't seem to have the mklink program in C:\Windows\system32.

In administrator mode in Powershell:

PS C:\> mklink
The term 'mklink' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spel
ling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:7
+ mklink <<<<
    + CategoryInfo          : ObjectNotFound: (mklink:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

mklink is not a standalone tool – it is a built-in command in the Cmd.exe interpreter. The only way to run it externally is through cmd /c (similar to sh -c on Linux):

cmd /c mklink arguments

However, PowerShell itself supports creating various link types using the New-Item cmdlet, although it is not a full replacement (as it does not support creating relative symlinks).

New-Item -ItemType SymbolicLink|Junction|HardLink -Name Foo -Target Bar

The solution is that mklink is a builtin on cmd.exe. Powershell therefore cannot directly access it.

Negative kudos to whoever thought that one up.


PowerShell is not a complete replacement for CMD. Many CMD functions do not work in PS. Switch to CMD to run mklink