Creating symlinks requires Administrator privileges or the SeCreateSymbolicLinkPrivilege. Incorrect links can break apps or redirect data to unexpected locations.
What you will achieve
Create directory symlinks, junctions, and hard links on Windows for redirecting folders or deduplicating paths — knowing which type to use.
1) Symlink vs junction vs hard link
- Directory symlink — points to another path (local or UNC); can cross volumes; needs admin or Developer Mode.
- Junction — directory link to local absolute path only; works without Developer Mode for admins via
mklink /J. - Hard link — alternate name for the same file on one volume; both names share data.
2) Enable symlink creation without admin (optional)
- Settings → System → For developers → turn on Developer Mode.
- Standard users can then create symlinks in some contexts — still use carefully.
3) Create links with mklink
Admin Command Prompt:
mklink /D "C:\Users\you\Documents\Projects" "D:\Dev\Projects"
mklink /J "C:\OldPath" "D:\NewPath"
mklink "C:\file-link.txt" "C:\original.txt"
4) PowerShell New-Item alternative
New-Item -ItemType SymbolicLink -Path "C:\Link" -Target "D:\Target"
New-Item -ItemType Junction -Path "C:\Junction" -Target "D:\Target"
5) Identify link type
dir /AL
fsutil reparsepoint query "C:\Path\To\Link"
6) App compatibility
- Some installers break when parent folder is a junction — test before redirecting Program Files or user profile roots.
7) Directory junction to UNC
- Junctions cannot target UNC paths — use directory symlinks with Developer Mode or admin for network redirect scenarios.
8) Move Users folder (not recommended)
- Some guides junction entire Users tree to D: — breaks Windows upgrades. Prefer Known Folder Move via OneDrive or relocate specific large folders only.
9) mklink requires elevation
Without Developer Mode, standard users get “You do not have sufficient privilege” — expected behaviour.
Verification checklist
Dir /AL lists junctions — audit quarterly on dev machines for forgotten redirects before disk migrations.
- Reboot once after changes that affect services, drivers, or firmware.
- Confirm the original problem is resolved under normal daily use, not only immediately after the fix.
- Note date, Windows version (Settings → System → About), and what changed in your personal runbook for next time.
Quick reference paths
- mklink
fsutil reparsepoint query- Settings → For developers
- Admin tools: press Win + X for Terminal (Admin), Device Manager, and Computer Management.
Git for Windows respects symlinks when core.symlinks=true — use symlinks in repos only when all team members run Windows with Developer Mode or admin rights.