У Windows есть ln -s или эквивалент?


38

Мне нужно связать файл с C:\Windows\System32\drivers\etc\hosts

Как я могу сделать это с Windows? Есть ли мягкая ссылка, такая как ln -sили эквивалентная в Windows?

Ответы:


38

Вы ищете команду "mklink".

Документация и примеры в Microsoft Docs или ss64.com .

Пример взят по ссылке:

// To create a symbolic link named MyDocs from the root directory to the \Users\User1\Documents directory, type:
mklink /d \MyDocs \Users\User1\Documents

4
Обратите внимание, что вам нужны права администратора для создания символических ссылок.
Андрес Риофрио

16

Могут быть и другие способы, но я знаком с 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.

3

Есть переходы, но я не знаю, будет ли это делать именно то, что вам нужно.

edit - упс извините, соединение применяется только к каталогам, а не к файлам


2

Как говорит @inf, mklink - это решение для Vista и выше.

Для 2000 / XP вы можете использовать fsutil hardlink . Обратите внимание, что в отличие от mklink, hardlink не работает на разных дисках.


1
Также стоит отметить, что некоторые люди могут не знать, но жесткие ссылки становятся файлом . Другими словами, можно удалить оригинал, и ссылка все еще работает (и именно поэтому она не может работать на разных дисках).
Камило Мартин

По ссылке вы предоставили, Fsutil HardLink , fsutil hardlinkтолько для Vista , и выше. Доступна ли более старая версия для Windows 2000 и XP?
Мэтти

Действительно, он доступен для XP, как описано в документации по Windows XP fsutil hardlink . Я не могу подтвердить его функциональность в Windows 2000, но он работает в Windows XP.
Мэтти

2

Link Shell Extension может создавать символическую ссылку (среди прочего). Приятная интеграция с контекстным меню. Доступно для большинства последних версий Windows и часто обновляется.


1

Powershell

Поскольку Microsoft советует использовать в качестве интерпретатора команд более 5 лет назад и cmd.exeстановится унаследованным приложением, в Powershell на этот вопрос нет ответа:

New-Item -path ~\Desktop\hosts -itemType SymbolicLink -target c:\Windows\System32\Drivers\etc\hosts

Это работает с Powershell v5.0


-2

откройте Терминал / CMD под андроид / sdk / tools, наберите

Terminal ** ln -s emulator64-x86 emulator-x86 ** CMD mklink emulator64-x86 emulator-x86

это будет создано как ..

символическая ссылка создана для emulator64-x86 << === >> emulator-x86

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.