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