我使用mklink创建了一个符号链接。现在我需要更改它,但我不知道如何删除它,因此可以正确地重新创建它。

#1 楼

要特别小心。

如果符号链接是目录(由mklink /d制成),则使用del将删除目标目录(链接指向的目录)中的所有文件,而不只是链接。

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

评论


刚刚不小心完成了此操作(删除了目标文件夹的完整内容),这是一个重要提示。

–西蒙·吉尔比
11年8月8日在21:10

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

– AMissico
13年3月12日在1:47

但是不要在PowerShell中使用rmdir。首先将其包装在cmd中。请参阅下面的答案...

–northben
13年5月13日在21:25

如果我通过Windows资源管理器将其删除怎么办???

–张
13年8月11日在16:49

Microsoft员工又去了那里,只是想破坏我的生活,职业和Windows操作系统。

–雷神召唤师
2014年8月25日在7:52

#2 楼

要删除使用mklink /d创建的目录符号链接,可以安全地在Windows资源管理器中删除符号链接。

评论


+1表示告诉人们通过Windows资源管理器删除符号链接已保存。

– AMissico
13年3月12日在1:45

它是正确的。我一直都在做。现在刚刚再次测试。

–ddelrio1986
16-9-29在21:00

这也为我工作。我删除了链接而不是链接到的源文件夹。也许抓住了。

–R休斯
17年2月24日在15:59

通过右键单击->删除将其删除是安全的。这不会删除链接的文件夹。

– Hexo
17年9月29日在13:24

mklink / d在Windows 7上不适合我。尽管我可能一直在使用旧版本

– abelito
19年5月17日在3:49



#3 楼

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

评论


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

–WoodenKitty
2015年11月12日下午0:39

@Tristan发出的警告不正确,此答案是正确的。在Windows 7上测试。

– Jiggunjer
16年6月23日在3:07

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

– Ed999
17年1月20日在15:56



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

–C Bauer
18年6月18日在14:12

您应该警告人们不要使用Powershell的rmdir链接!

– NH。
18-10-29在16:57



#4 楼

在Powershell中,请勿使用rmdir!请改用cmd /c rmdir .\Target。我自己对此进行了测试,并在这里进行了确认:http://kristofmattei.be/2012/12/15/powershell-remove-item-and-symbolic-links/

评论


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

– kreemoweet
2015年9月22日下午16:59

rmdir是cmd.exe的内部命令,因此显然要从其他shell调用它,则需要cmd / c或cmd / k。 PowerShell中的rmdir只是Remove-Item的别名

–phuclv
19年2月7日,0:17

更令人困惑的是,del还是PowerShell中Remove-Item的别名。因此,尽管cmd中的del递归删除文件,而PowerShell中的del仅删除链接。

–道格·理查森(Doug Richardson)
11月28日20:29

#5 楼

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

评论


是的,在您知道PowerShell不会提供有关rmdir的信息之后,这是100%最安全的解决方案

–test30
2014年7月3日14:54

这是一个聪明的预防措施。 +1

–汉娜
15年3月4日在17:11

警告:我认为此MIGHT不适用于Win10,因为它会在重命名时修复快捷方式。 (至少是经典快捷方式)虽然未测试。

– Hexo
17年9月29日在13:26

我这样做是为了以防万一。重命名目标文件夹后,尝试访问它时,symbolink链接失败,因此无需担心即可删除它。

–安德鲁(Andrew)
18年4月14日在0:39

#6 楼

mklink不能用于删除符号链接。要删除符号链接,只需删除它们,就像删除普通文件一样。例如,要删除上面创建的foo符号链接,请输入以下命令:

如果链接是指向目录的硬链接:

C:\test>rmdir foo


否则,如果链接指向文件(而不是目录),则为

C:\test>del foo


来源:http://www.mydigitallife.info/2007 / 05/22 / create-symbolic-links-hard-links-and-junctions-in-vista-with-mklink /

评论


只要确保您不使用del / S或Explorer将其删除即可。

– Hello71
10年7月24日在0:12

请参阅下面的eddyq的答案,因为将del用于指向目录的链接将不起作用,而是尝试删除该文件夹的内容。

– jpierson
2012年5月7日13:48

目录的硬链接不存在。我想你是想说符号链接。

– Briilliand
2015年9月8日在18:20

#7 楼

就我而言(Windows 10),使用

MKLINK /D "C:\Users\username\Dropbox\MyProject" "C:\SourceProject"
创建符号链接后,使用文件资源管理器或键盘Delete键通过Delete进行删除,也会删除原始目录。 br />
您应该做的是通过命令提示符删除链接。

C:\Users\username\Dropbox>rd /s MyProject


有关rd命令的详细信息:https:// docs。 microsoft.com/zh-CN/windows-server/administration/windows-commands/rd

评论


仅此有效。添加/ Q无提示

– rofrol
12月2日下午16:53

#8 楼

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

#9 楼

我已经安装了此链接外壳扩展程序。有了这个,您有2种方法。

METHOD 1

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

使用
我正在创建一个目录,其中包含要删除的临时文件的所有可能位置,我想要一个中央文件夹,可以在其中通过符号链接监视它们的大小。 />
请注意:屏幕变白只是UAC。



方法2

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

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

注意:此Shell扩展程序添加了此选项卡。

在继续之前,可以在此处找到更多信息,并且主页上还有x64和32位版本。

因此,要继续,这里您可以在目标字段中添加任何内容,只要它们与原始目标不同即可。



目标为C:\Windows\Logs的前一个

目标为C:\Windows\Logs的后一个,请注意末尾额外的C:\Windows\Logs_



按OK(确定)
您可以通过执行与上面相同的1-3步来再次检查此操作,以确保它卡住了,这一次您单击链接属性时会收到一条错误消息。标签,因此链接现在已断开。
比方法1恕我直言,现在删除符号链接是安全的。


但是!这两种方法都可以在这里工作,因此完全取决于用户的选择。我喜欢我偶然发现的属性方法,因此您可以100%确保使用上面的第4步断开了链接。

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

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

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

请注意:屏幕变白只是UAC。



#10 楼

创建Windows 10目录符号链接:

MKLINK /D "C:\Users\andronoid\Program Files" C:\Users\andronoid\AppData\Local


删除Windows 10目录符号链接:



eddyq的RMDIR解决方案来自提升权限的命令提示符对我不起作用:访问被拒绝。


ddelrio1986的Windows资源管理器解决方案有效(链接目标未触动)