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

38

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

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

prosseek
источник

Ответы:

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
scigor
источник
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 не работает на разных дисках.

studgeek
источник
1
Также стоит отметить, что некоторые люди могут не знать, но жесткие ссылки становятся файлом . Другими словами, можно удалить оригинал, и ссылка все еще работает (и именно поэтому она не может работать на разных дисках).
Камило Мартин
По ссылке вы предоставили, Fsutil HardLink , fsutil hardlinkтолько для Vista , и выше. Доступна ли более старая версия для Windows 2000 и XP?
Мэтти
Действительно, он доступен для XP, как описано в документации по Windows XP fsutil hardlink . Я не могу подтвердить его функциональность в Windows 2000, но он работает в Windows XP.
Мэтти
2

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

Francois
источник
1

Powershell

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

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

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

maoizm
источник
-2

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

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

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

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

INTRA TUBE
источник