Как удалить символическую ссылку?
Я создал сим-ссылку, используя mklink
. Теперь мне нужно ее изменить, но я не могу понять, как ее удалить, чтобы можно было ее корректно воссоздать.
Я создал сим-ссылку, используя mklink
. Теперь мне нужно ее изменить, но я не могу понять, как ее удалить, чтобы можно было ее корректно воссоздать.
Будьте очень осторожны.
Если у вас есть символическая ссылка, которая является каталогом (сделанная с mklink /d
), то использование del
удалит все файлы в целевом каталоге (каталог, на который указывает ссылка), а не только ссылку.
SOLUTION: rmdir
, с другой стороны, удалит только ссылку на каталог, а не на то, на что указывает ссылка.
Для удаления символических ссылок на каталоги, созданных с помощью mklink /d
, можно безопасно удалить символическую ссылку в проводнике windows explorer.
Для получения сим-ссылки на файл используйте del
. Для получения сим-ссылки на каталог, созданный с помощью mklink /d
, используйте rmdir
.
В Пауэрсхелле, не используйте rmdir
! Используйте cmd /c rmdir .\Target
вместо этого. Я протестировал это самостоятельно и подтвердил это здесь: http://kristofmattei.be/2012/12/15/powershell-remove-item-and-symbolic-links/
mklink нельзя использовать для удаления символических ссылок. Чтобы удалить символическую ссылку, просто удалите их, как будто вы удаляете обычный файл. Например, чтобы удалить символическую ссылку foo, созданную выше, введите следующую команду:
Если ссылка является жесткой ссылкой на каталог:
C:\test>rmdir foo
или, в противном случае, если ссылка указывает на файл (в отличие от dir)
C:\test>del foo
Я установил это Link Shell Extension . При этом у вас есть 2 метода.
Создайте его с помощью контекстного меню, как показано на рисунке, и удалите через Проводник файлов.
Тест с папкой типа C:\Windows\Logs
, как показано на рисунке, или аналогичной ей. Я просто создаю каталог со всеми возможными местами удаления временных файлов, и мне нужна центральная папка, в которой я мог бы отслеживать их размер по символическим ссылкам.
_ Пожалуйста, обратите внимание: Экран становится белым только для UAC . _
Самый безопасный способ незадокументированный здесь AFAIK .
На созданной символической ссылке (по шагам, показанным выше) щелкните правой кнопкой мыши на ней в этот раз и выберите свойства, а затем перейдите на вкладку Link Properties (Свойства ссылки).
Note: Это расширение оболочки добавило эту закладку.
Прежде чем я продолжу, гораздо больше информации можно найти здесь , также на главной странице находятся x64 и 32-битные версии .
Так что, чтобы продолжить, здесь вы можете добавить что угодно в целевое поле, пока оно дифферентно к исходной цели.
Вот после с целью как C:\Windows\Logs_
, обратите внимание дополнительные _
в конце.
Нажмите OK
Вы можете проверить это еще раз, пройдя те же 1-3 шага выше, чтобы убедиться, что застряла, на этот раз вы получите сообщение об ошибке, когда перейдете на вкладку Свойства ссылки, так что ссылка теперь разорвана.
Теперь можно безопасно® удалить символическую ссылку, чем метод 1 IMHO.
Но! Оба метода работают здесь, так что это полностью зависит от выбора пользователя. Мне нравится метод свойств, на который я счастливо наткнулся, так что вы на 100% уверены, что ссылка сломана с помощью шага 4 выше.
Вот подарок мне создание символической ссылки правой кнопкой мыши, перетаскивая папку в другую и выбрав опцию создания символической ссылки в подменю.
Чтобы удалить, просто следуйте 1-5 шагам выше метода 2 или следуйте методу 1.
Как создать и удалить символическую ссылку с помощью метода свойств
_ Пожалуйста, обратите внимание: Экран, который становится белым, это просто UAC ._
В моем случае (Windows 10) после создания символической ссылки с помощью
MKLINK /D "C:\Users\username\Dropbox\MyProject" "C:\SourceProject"
и удаление с помощью delete с помощью проводника файлов или клавиатуры delete key ** также удаляет исходную директорию**.
Для получения подробной информации о команде rd необходимо удалить ссылку с помощью командной строки.
C:\Users\username\Dropbox>rd /s MyProject
Подробнее о команде rd: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/rd