Вопрос Как удалить символическую ссылку?


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


285
2017-07-23 23:22


происхождения




ответы:


Будь очень осторожен. 

Если у вас есть символическая ссылка, которая является каталогом mklink /d), затем используя del удалит все файлы в целевом каталоге (каталог, на который указывает ссылка), а не только ссылку.

РЕШЕНИЕ:  rmdir с другой стороны, удалит только ссылку каталога, а не ссылку на нее.


492
2017-07-05 17:07



Просто случайно это сделало (удалило полное содержимое целевой папки), это важный совет. - Simon Gillbee
Этот ответ не совсем точен. Del удаляет файлы, а не папки. Поэтому вы не будете использовать del для удаления ссылки. - AMissico
Но не используйте rmdir в PowerShell. Оберните его cmd первый. См. Мой ответ ниже ... - northben
Как насчет того, удаляю ли я его через Windows Explorer? - Cheung
Там сотрудники Microsoft снова идут, просто пытаясь погубить мою жизнь, карьеру и операционную систему Windows. - ThorSummoner


Для символической ссылки на файл используйте del, Для символической ссылки на каталог, созданный с помощью mklink /d, используйте rmdir,


42
2017-08-19 19:13



Предупреждение: «del» удалит файл, а не только ссылку. - WoodenKitty
Предупреждение от @Tristan неверно, этот ответ верен. Протестировано на окнах 7. - jiggunjer
В Windows 7 с пакетом обновления 1 (64-разрядная версия) в проводнике Windows можно удалить символическую ссылку, указывающую либо на файл (например, созданный с использованием MKLINK), либо на каталог (MKLINK / D), используя обычную кнопку «Удалить» Windows GUI , без удаление цели. Даже СОЕДИНЕНИЯ (например, созданная с использованием команды MKLINK / J), если она удалена в Проводнике, не будет удалять целевой каталог и его содержимое. Если не пуст, целевой каталог не может быть удален даже с помощью команды DEL соединение в командной строке. Протестировано сегодня. - Ed999
В Windows Server 2012 это удалило содержимое каталога, на которое была указана моя символическая ссылка ... - C Bauer


Чтобы удалить символические ссылки каталога, созданные с помощью mklink /d можно просто удалить символическую ссылку в проводнике.


42
2018-01-13 04:15



+1 для того, чтобы сообщать людям, что это сохранить, чтобы удалить символическую ссылку через Проводник Windows. - AMissico
Верно. Я делаю это все время. Просто протестируйте его прямо сейчас. - ddelrio1986
Это просто сработало для меня. Я удалил ссылку, а не исходную папку, к которой была привязана. возможно, что поймать. - R Hughes
Безопасно просто удалить его с помощью Rightclick -> Delete. Это НЕ удаляет связанную папку. - 0x25b3


В Powershell не используйте rmdir! использование cmd /c rmdir .\Target вместо. Я сам это испытал и подтвердил это здесь: http://kristofmattei.be/2012/12/15/powershell-remove-item-and-symbolic-links/


22
2018-05-13 21:22



Этот блог путает смысл «Target», который является фактическим каталогом, на который указывает ссылка, и который, как правило, хочет избежать удаления, удалив ссылку. - kreemoweet


Существует еще одно решение, проверенное мной и безопасное для использования. просто добавьте в реальную папку _ (пример: foo станет foo_) затем просто удалите ссылку на символику, а затем удалите _ из вашей истинной папки.


21
2017-12-06 07:24



да, это решение на 100% безопаснее после того, как вы знаете, что PowerShell не дает никаких сведений о rmdir - test30
Это умная предосторожность. +1 - Johannes
Предупреждение: я не думаю, что это МОЖЕТ не работать на Win10, поскольку это исправление ярлыков при переименовании. (По крайней мере, классические ярлыки). - 0x25b3
Я сделал это на всякий случай. После того, как я переименовал целевую папку, ссылка symbolink не удалась, когда я попытался получить к ней доступ, поэтому я мог бы удалить ее, не беспокоясь. - Andrew


mklink не может использоваться для удаления символических ссылок. Чтобы удалить символическую ссылку, просто удалите их, как если бы вы удалили обычный файл. Например, чтобы удалить символическую ссылку foo, созданную выше, введите следующую команду:

Если ссылка является жесткой ссылкой на каталог:

C:\test>rmdir foo

или иначе, если ссылка указывает на файл (в отличие от каталога)

C:\test>del foo

Источник: http://www.mydigitallife.info/2007/05/22/create-symbolic-links-hard-links-and-directory-junctions-in-vista-with-mklink/


20
2017-07-23 23:25



Просто убедитесь, что вы не удаляете его с помощью del /S или проводника. - Hello71
См. Ответ eddyq ниже, потому что использование del для ссылки, сделанной в каталог, не будет работать и вместо этого попытается удалить содержимое этой папки. - jpierson
Жестких ссылок на каталоги не существует. Я думаю, вы хотели сказать symlink. - Brilliand