如何删除符号链接?


319

我使用创建了一个符号链接mklink。现在我需要更改它,但我无法弄清楚如何删除它,以便我可以正确地重新创建它。

Answers:


552

要非常小心。

如果你有一个符号链接是一个目录(用mklink /d),那么使用del将删除目标目录中的所有文件(链接指向的目录),而不仅仅是链接。

解决方案: rmdir另一方面,只删除目录链接,而不是链接指向的内容。


102
刚刚意外地完成了这个(删除了目标文件夹的完整内容),这是一个重要的提示。
Simon Gillbee 2011年

4
这个答案并不完全准确。Del删除文件,而不是文件夹。因此,您不会使用del删除链接。
AMissico 2013年

12
但是不要rmdir在PowerShell中使用。cmd首先包装它。请参阅下面的答案...
13:25

4
如果我通过Windows资源管理器删除它怎么样?

8
微软员工再次走了,只是试图破坏我的生活,职业和Windows操作系统。
ThorSummoner 2014年

60

要删除使用mklink /d它创建的目录符号链接,只需删除资源管理器中的符号链接即可。


25
+1告诉人们保存是通过Windows资源管理器删除符号链接。
AMissico 2013年

3
它是正确的。我一直这样做。刚刚再次测试它。
ddelrio1986 2016年

2
这对我也有用。我删除了链接而不是链接到的源文件夹。或许那个问题。
R Hughes

3
用Rightclick - > Delete删除它是安全的。这不会删除链接的文件夹。
Hexo

mklink / d在Windows 7上没有为我工作..我可能一直在使用旧版本
abelito

47

对于文件的符号链接,请使用del。对于使用的目录的符号链接mklink /d,请使用rmdir


5
警告:“del”将删除文件,而不仅仅是链接。
WoodenKitty 2015年

6
来自@Tristan的警告不正确,这个答案是准确的。测试在Windows 7.
jiggunjer 2016年

1
在Windows 7 SP1(64位)中,可以使用普通的Windows GUI“删除”选项在Windows资源管理器中删除指向文件(例如,使用MKLINK创建)或目录(MKLINK / D)的符号链接,而不删除目标。即使是JUNCTION(例如使用MKLINK / J命令创建),如果在资源管理器中删除,也不会删除目标目录及其内容。如果不为空,则甚至无法在命令提示符下使用命令DEL junction删除目标目录。今天测试过。
Ed999

在Windows Server 2012上,这删除了我的符号链接指向的目录内容...
C Bauer

你应该警告人们不要rmdir与Powershell联系!
NH。

28

在Powershell中,不要使用rmdir!请cmd /c rmdir .\Target改用。我亲自测试并在此确认:http//kristofmattei.be/2012/12/15/powershell-remove-item-and-symbolic-links/


该博客混淆了“目标”的含义,这是链接指向的实际目录,以及人们通常希望在删除链接时避免删除。
kreemoweet 2015年

2
rmdir是CMD.EXE的内部命令,从而明显地从你需要其他shell调用它cmd /ccmd /krmdir在PowerShell只是一个别名Remove-Item
phuclv

23

我测试了另一种解决方案,可以安全使用。只需添加到真实文件夹_(例如:foo变为foo_)然后只需删除您的symbolik链接,然后从您的真实文件夹中删除_。


2
是的,这是100%最安全的解决方案,你知道powershell没有给出关于rmdir的** t
test30 2014年

这是一个聪明的预防措施。+1
汉娜2015年

警告:我不认为这可能不适用于Win10,因为它在重命名时修复了快捷方式。(至少经典的快捷方式)虽未经过测试。
Hexo

我这样做是为了以防万一。重命名目标文件夹后,当我尝试访问它时,符号链接链接失败,所以我可以删除它而不用担心。
安德鲁

21

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/


2
只需确保不要使用del /S或删除它。
Hello71 2010年

1
请参阅下面的eddyq的答案,因为使用del表示链接到目录将不起作用,而是尝试删除该文件夹的内容。
jpierson

2
目录的硬链接不存在。我想你的意思是说符号链接。
Brilliand 2015年


0

最简单的方法是将文件夹(符号链接指向的位置)移动到另一个位置(到父文件夹),然后删除符号链接。没有文件会受到伤害!


0

我已经安装了这个Link Shell扩展。有了这个,你有2种方法。

方法1

使用如图所示的上下文菜单创建它,并通过文件资源管理器删除。

使用C:\Windows\Logs如图所示的文件夹进行测试。我只是创建一个目录,包含要删除的临时文件的所有可能位置,我想要一个中央文件夹,我可以通过符号链接监视它们的大小。

请注意:屏幕变白只是UAC

从资源管理器方法中删除

方法2

这里最安全的方式没有记载AFAIK

在创建的符号链接上(按上面显示的步骤),这次右键单击它,然后单击属性,然后转到Link Properties选项卡。

注意:此shell扩展添加了此选项卡。

在我继续之前,可以在这里找到更多信息,主页上还有x64和32bit版本

因此,要继续,只要它与原始目标不同,您就可以在此处向目标字段添加任何内容。


  1. 这是以前的目标 C:\Windows\Logs 目标之前

  2. 这是一个目标之后C:\Windows\Logs_注意到最后的额外_

    目标之后

  3. OK

  4. 您可以通过上面相同的1-3个步骤再次检查这一点以确保卡住了,这次当您单击Link Properties选项卡时会收到错误消息,因此链接现在已断开。

  5. 现在安全(r)删除符号链接而不是方法1恕我直言。


但!这两种方法都适用于此,因此完全取决于用户的选择。我喜欢我很高兴偶然发现的属性方法,因此您可以100%确定使用上面的步骤4来破坏链接。

这是我用gif创建符号链接的gif,用鼠标右键将文件夹拖到另一个文件夹,然后选择在子菜单中创建符号链接的选项。

要删除,只需按照方法2的上述1-5步骤或遵循方法1。

如何使用属性方法创建和删除符号链接

请注意:屏幕变白只是UAC

关于如何使用properties方法创建和删除syn链接的gif

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.