Windows 7 / Getting Started

How to Create Symbolic Links

By default, only administrators can create symbolic links. However, you can grant other users access using the Computer Configuration\Windows Settings\Security Settings\Local Policies \User Rights Assignment\Create Symbolic Links setting.

To create a symbolic link, open a command prompt with administrative privileges and use the mklink command. For example, the following command creates a symbolic link from C:\Myapp.exe to Notepad in the system directory.

C:\>mklink myapp.exe %windir%\system32\notepad.exe

Symbolic link created for myapp.exe <<===>> C:\Windows\system32\notepad.exe

Note Developers can call the CreateSymbolicLink function to create symbolic links. For more information, go to http://msdn.microsoft.com/en-us/library/aa363866.aspx.

After you create this symbolic link, the Myapp.exe link behaves exactly like a copy of the Notepad.exe file. Windows Explorer displays symbolic links using the standard shortcut symbol. However, shortcuts always have a .lnk extension, whereas symbolic links can have any extension. At a command prompt, the dir command uses the <SYMLINK> identifier to distinguish symbolic links and displays the path to the target file.

C:\>dir

Volume in drive C has no label.
 Volume Serial Number is BC33-D7AC

 Directory of C:\

 09/18/2006 04:43 PM 		24 AUTOEXEC.BAT
 09/18/2006 04:43 PM 		10 config.sys
 12/27/2006 12:16 PM <SYMLINK> 	    myapp.exe [C:\Windows\system32\notepad.exe]
 12/23/2006 04:47 PM <DIRglt;	    Program Files
 11/29/2006 03:31 PM <DIR>	    Users
 12/27/2006 08:39 AM <DIR> 	    Windows

Because a symbolic link is only a link, any changes made to the link actually affect the target file and vice versa. If you create a symbolic link and then delete the target file, the symbolic link will remain, but any attempts to access it will return a File Not Found error because Windows will attempt to access the link target automatically. If you delete a target file and later replace it with a file of the same name, that new file will become the link target. Deleting a link does not affect the link target. Attribute changes to the symbolic link, such as marking a file as hidden or as a system file, are applied to both the symbolic link and the target file.

How to Create Relative or Absolute Symbolic Links

Relative symbolic links identify the location of the target based on their own folder. For example, a relative symbolic link to a target file in the same folder will always attempt to access a target with the specified filename in the same folder, even if the symbolic link is moved. You can create relative or absolute symbolic links, but all symbolic links are relative by default. For example, consider the following commands, which attempt to create a symbolic link named Link.txt to a file named Target.txt and then attempt to access the symbolic link before and after moving the target file.

C:\>mklink link.txt target.txt
C:\>type link.txt

  Hello, world.

C:\>REM Move link.txt to a different folder
C:\>move link.txt C:\links

	1 file(s) moved.

C:\>cd links
C:\links>type link.txt

  The system cannot find the file specified.

C:\links>move \target.txt C:\links
C:\links>type link.txt

  Hello, world.

In the previous example, moving the symbolic link to a different folder causes Windows to be unable to locate the target because the symbolic link is a relative link pointing to a file named Target.txt in the same folder. When both the link and the target are moved to the same folder, the symbolic link works again.

Now consider the same example using an absolute symbolic link, created by specifying the full path to the target file:

C:\>mklink link.txt C:\target.txt
C:\>type link.txt

  Hello, world.

C:\>REM Move link.txt to a different folder
C:\>move link.txt C:\links

	1 file(s) moved.

C:\>cd links
C:\links>type link.txt

  Hello, world.

C:\links>move C:\target.txt C:\links\
C:\links>type link.txt

  The system cannot find the file specified.

In the last example, specifying the full path to the target file creates an absolute symbolic link that references the full path to the target file. Therefore, the symbolic link still works after it is moved to a different folder. However, moving the target file makes it inaccessible.

[Previous] [Contents] [Next]

In this tutorial:

  1. Managing Disks and File Systems
  2. Overview of Partitioning Disks
  3. How to Choose Between MBR or GPT
  4. Converting from MBR to GPT Disks
  5. GPT Partitions
  6. Choosing Basic or Dynamic Disks
  7. Working with Volumes
  8. How to Create a Simple Volume
  9. How to Create a Spanned Volume
  10. How to Create a Striped Volume
  11. How to Resize a Volume
  12. How to Delete a Volume
  13. How to Create and Use a Virtual Hard Disk
  14. File System Fragmentation
  15. Backup And Restore
  16. How File Backups Work
  17. File and Folder Backup Structure
  18. How System Image Backups Work
  19. How to Start a System Image Backup from the Command Line
  20. How to Restore a System Image Backup
  21. System Image Backup Structure
  22. Best Practices for Computer Backups
  23. How to Manage Backup Using Group Policy Settings
  24. Previous Versions and Shadow Copies
  25. How to Manage Shadow Copies
  26. How to Restore a File with Previous Versions
  27. How to Configure Previous Versions with Group Policy Settings
  28. Windows ReadyBoost
  29. BitLocker Drive Encryption
  30. How BitLocker Encrypts Data
  31. How BitLocker Protects Data
  32. TPM with External Key (Require Startup USB Key At Every Startup)
  33. TPM with PIN (Require PIN At Every Startup)
  34. TPM with PIN and External Key
  35. BitLocker To Go
  36. BitLocker Phases
  37. Requirements for Protecting the System Volume with BitLocker
  38. How to Enable the Use of BitLocker on the System Volume on Computers Without TPM
  39. How to Enable BitLocker Encryption on System Volumes
  40. How to Enable BitLocker Encryption on Data Volumes
  41. How to Manage BitLocker Keys on a Local Computer
  42. How to Manage BitLocker from the Command Line
  43. How to Recover Data Protected by BitLocker
  44. How to Disable or Remove BitLocker Drive Encryption
  45. How to Decommission a BitLocker Drive Permanently
  46. How to Prepare AD DS for BitLocker
  47. How to Configure a Data Recovery Agent
  48. How to Manage BitLocker with Group Policy
  49. The Costs of BitLocker
  50. Windows 7 Encrypting File System
  51. How to Export Personal Certificates
  52. How to Import Personal Certificates
  53. How to Grant Users Access to an Encrypted File
  54. Symbolic Links
  55. How to Create Symbolic Links
  56. How to Create Relative or Absolute Symbolic Links
  57. How to Create Symbolic Links to Shared Folders
  58. How to Use Hard Links
  59. Disk Quotas
  60. How to Configure Disk Quotas on a Single Computer
  61. How to Configure Disk Quotas from a Command Prompt
  62. How to Configure Disk Quotas by Using Group Policy Settings
  63. Disk Tools
  64. EFSDump
  65. SDelete
  66. Streams
  67. Sync
  68. MoveFile and PendMoves