How do you create a new symlink in windows 10 using powershell (not mklink.exe)?

If there's docs on it, I'll take that. Any web searches for "symlink" "symbolic link" "windows [10]" "powershell" returns everything except the base command.

Even the powershell docs site returns nothing. Is this not possible?


Solution 1:

  1. Start powershell as admin
  2. You need to know 1) the path to target of the link 2) path to location where you want the link 3) the name you want to use to refer to the link.
  3. PS C:\> new-item -itemtype symboliclink -path <path to location> -name <the name> -value <path to target>

Example: If you're in c:\drivers\AMD and you want to link in f:\driver\olddrivers, then you would go

PS C:\> new-item -itemtype symboliclink -path . -name OldDrivers -value f:\driver\olddrivers

And wind up with a symlink path of c:\driver\AMD\OldDrivers

Solution 2:

Use the New-Item cmdlet and specify the appropriate ItemType of SymbolicLink, HardLink, or Junction. Note that these are only available from PowerShell 5.1 or newer.

+-----------------------+-----------------------------------------------------------+
| mklink syntax         | PowerShell equivalent                                     |
+-----------------------+-----------------------------------------------------------+
| mklink Link Target    | New-Item -ItemType SymbolicLink -Name Link -Target Target |
| mklink /D Link Target | New-Item -ItemType SymbolicLink -Name Link -Target Target |
| mklink /H Link Target | New-Item -ItemType HardLink -Name Link -Target Target     |
| mklink /J Link Target | New-Item -ItemType Junction -Name Link -Target Target     |
+-----------------------+-----------------------------------------------------------+

mklink reference: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/mklink
New-Item reference: https://docs.microsoft.com/powershell/module/microsoft.powershell.management/new-item