Как создать жесткую ссылку на каталог в Windows?

14

Я пытался создать жесткую ссылку на каталог (не символическую).

Я пробовал это: mklink /d /h newfolder currentfolderно это говорит мне, что доступ запрещен . Я не понимаю, как доступ запрещен, потому что я запускаю пакет как администратор.

Как создать жесткую ссылку на каталог?

==
Windows Vista Home Premium SP2

Pacerier
источник

Ответы:

16

Я думаю, что жесткие ссылки предназначены только для файлов, а не для каталогов.

kobaltz
источник
4
Да, нет такой вещи, как жесткая ссылка на каталог, только точки соединения и символические ссылки.
Гарри Джонстон
1
Жесткие ссылки на каталоги технически возможны, но требуют большой осторожности, чтобы избежать циклов в файловой системе. Единственная ОС, которая позволяет им это Mac OS X 10.5, для использования в Time Machine.
user1686
> Я думаю, что жесткие ссылки предназначены только для файлов, а не для каталогов. Спасибо за подтверждение; Я продолжаю собираться читать по символическим ссылкам и тому подобное: 1 2 3 4
Synetech
1
ну ... под linux-системами вы можете использовать mount --bindдля папок, но я не уверен, есть ли что-то подобное в windows!
DJCrashdummy
7

В Windows нет такой вещи, как жесткая ссылка на директорию. В Windows вы либо создаете символическую ссылку на каталог с помощью команды, mklink /d link_name target_dirлибо создаете соединение с mklink /J link_name target_dir.

В отличие от жестких ссылок, соединения могут занимать несколько томов и иногда называются «мягкими ссылками» Microsoft, как вы можете прочитать здесь :

Соединение (также называемое « мягкой связью» ) отличается от жесткого соединения тем, что объекты хранения, на которые оно ссылается, являются отдельными каталогами, и соединение может связывать каталоги, расположенные на разных локальных томах на одном компьютере.

Здесь необходимо соблюдать некоторые предостережения, поскольку номенклатура Microsoft на самом деле не аккуратна, но, в нескольких словах, это ваши варианты для создания ссылок на файлы и каталоги в Windows:
(1) ярлыки: файлы, содержимое которых находится в другом файле. Он работает более или менее как мягкая ссылка, но с существенным отличием: это НЕ запись каталога, информация о ссылке хранится внутри файла. По этой причине он не работает со многими приложениями (по крайней мере, он работает так, как предполагается в Windows Explorer ...);
(2) жесткие ссылки: созданы с помощью команды mklink /h. Действительно только для файлов и работает в пределах определенного тома (то есть, как и в Linux, вы не можете жестко связать файл в другом разделе или на сетевом диске);
(3)соединения: этот зверь действительно странный. Он работает только с каталогами и, что забавно, может указывать на каталоги в других файловых системах;
(4) символические ссылки: он очень похож на Linux и работает с каталогами и файлами. (Но, как правило, требуются права администратора, что может сделать его довольно неудобным.) Как я уже упоминал выше, он создается с помощью команды mklink /d link_name target_dirдля каталогов (и mklink link_name target_fileдля файлов). Вы можете прочитать больше об этом здесь .

Умберто Фиораванте Ферро
источник
Я настоятельно рекомендую удалить комментарий из вашего ответа
Ramhound
Это мнение или я нарушил какое-то правило форума?
Умберто Фиораванте Ферро
Мы не форум
Ramhound
Правильно, комментарий удален. Мои извенения!
Умберто Фиораванте Ферро
1
@Sz вы были совершенно правы, и я изменил свой ответ в соответствии с вашими комментариями (действительно, ответ был немного нечетким). Благодарность!
Умберто Фиораванте Ферро