I need to link a file to C:\Windows\System32\drivers\etc\hosts
How can I do that with Windows ? Is there a soft link such as ln -s
or equivalent in Windows ?
Super User is a question and answer site for computer enthusiasts and power users. It only takes a minute to sign up.
Sign up to join this communityYou are looking for the command "mklink" (cmd) or the "New-Item" command (powershell).
Documentation and examples in Microsoft Docs or ss64.com.
Example taken from the link:
// To create a symbolic link named MyDocs from the root directory to the \Users\User1\Documents directory, type:
mklink /d \MyDocs \Users\User1\Documents
Documentation and examples in Microsoft Docs. Search the page for symbolic link.
Example from the link:
$link = New-Item -ItemType SymbolicLink -Path .\link -Target\Notice.txt
$link | Select-Object LinkType, Target
LinkType Target
-------- ------
SymbolicLink {.\Notice.txt}
There may be other ways, but the one I'm familiar with is mklink:
C:\>mklink
Creates a symbolic link.
MKLINK [[/D] | [/H] | [/J]] Link Target
/D Creates a directory symbolic link. Default is a file
symbolic link.
/H Creates a hard link instead of a symbolic link.
/J Creates a Directory Junction.
Link specifies the new symbolic link name.
Target specifies the path (relative or absolute) that the new link
refers to.
As long as Microsoft advices to use powershell as a command interpreter since more than 5 years ago and cmd.exe
is becoming a legacy application this question lacks an answer in Powershell:
New-Item -path ~\Desktop\hosts -itemType SymbolicLink -target c:\Windows\System32\Drivers\etc\hosts
This works as of Powershell v5.0
There are junctions but I don't know if this will do exactly what you need.
edit - oops sorry, junction only applies to directories not files
As @inf says, mklink is the solution for Vista and above.
For 2000/XP, you can use fsutil hardlink. Note that, unlike mklink, hardlink doesn't work across drives.
fsutil hardlink
is only for Vista and above. Is there an older version available for Windows 2000 and XP?
Link Shell Extension can create symbolic link (among other things). Nice context menu integration. Available for the most recent windows versions and frequently updated.
open the Terminal/CMD under the android/sdk/tools,type
Terminal** ln -s emulator64-x86 emulator-x86** CMDmklink emulator64-x86 emulator-x86
this will get created like..
symbolic link created for emulator64-x86 <<===>> emulator-x86