我正在使用发现的一些计算机视觉源代码,但没有意识到它创建了一个名称非常长的缓存文件,现在我无法删除其中两个。
我尝试了将其重命名为较短的名称,但是我无法对该文件做任何事情,我还尝试重新启动计算机,看它是否会消失。 >目标路径太长。
目标文件夹的文件名太长。您可以缩短文件名然后重试,或者尝试使用路径更短的
。
这种情况下如何删除文件?
#1 楼
假设您在Windows上:我经常做的是使用subst与路径的一部分创建驱动器号关联。
然后转到新的驱动器号并导航到具有长名称的文件。您现在应该能够重命名/删除/等他们。之所以起作用,是因为路径本身不再包含> 255个字符。
使用
cd
导航到您要转到的文件夹(可以使用制表符自动填充名称键入
subst j: .
来创建驱动器字母关联(代替。,也可以键入整个路径) 现在在资源管理器中,这台PC中有一个新的驱动器号。转到它,然后对.cache文件进行任何操作。或者,重新启动计算机。
编辑:我学到的一个技巧可以将其缩短很多时间。在遇到麻烦的资源管理器窗口中,单击地址栏,然后键入键入
subst /d j:
并按Enter在该位置启动命令提示符,然后继续执行步骤3。:) EDIT2:好的,可以进一步扩展此技巧。
探索在正确的路径中,只需在地址栏中输入
cmd
并按Enter。将弹出一个命令窗口,执行命令并再次关闭,然后您就可以在资源管理器中弹出一个新驱动器。评论
robocopy empty_dir base_nested_dir / purge-仅创建一个空目录,并告诉robocopy清除目标目录中所有不在空目录中的内容stackoverflow.com/a/3320317/588759
– rofrol
14-10-30在8:54
刚刚尝试过此操作,但我无法删除有问题的文件。.我在Windows中使用cygwin,另一种解决方案是以这种方式删除文件:rm -R / path / in / question,只要没有其他程序正在使用该文件你已准备好出发
–约翰
15年3月3日在17:28
我遇到了一个问题,SUBST无法将J:识别为参数(它也没有看到任何可用的虚拟驱动器),因此John提到的cygwin选项运行良好。
– Tisch
2015年4月1日在12:40
@rofrol,您应该让您的robocopy注释成为答案:处理大量子目录(例如在node_modules中创建的子目录)时,比使用目录名称方法要容易得多
–安迪·布朗(Andy Brown)
2015年5月18日19:50
John的解决方案对我来说效果很好,只是添加了-f(力参数):rm -R -f / pathToDelete
–克里斯托弗·凯勒(Christophe Keller)
15年8月13日在9:32
#2 楼
您的问题询问文件名本身太长时如何删除文件。如果路径太长而不仅仅是文件名本身,则可以轻松地重命名文件夹以使路径更短。但是要删除名称超过255个字符的文件:
通过运行“ CMD.EXE”打开命令提示符。
导航到包含文件的文件夹
使用命令DIR / X将显示文件的简称。
使用短名称删除。
ie如果文件名为“ verylongfilename.fil”,则短名称将显示为“ verylo〜1.fil”之类的名称,您可以使用该名称进行删除。
请注意,尽管Windows本身可以处理路径远远超过255个字符,大多数GUI(例如Windows资源管理器)都受到较短限制的约束。
评论
这是一个比公认的更好的答案。
–本
15年1月16日在21:06
选择的答案更好,因为您可以使用该方法删除整个文件夹
–mcont
15年5月28日在19:08
但在Windows 7中,DIR / x似乎根本不更改任何显示... :(
– gumuruh
16年4月30日在17:16
某些NTFS文件系统没有8.3等效项。因此,这不再总是有效。
–罗斯压机
16 Dec 31 '18:52
CMD的Del / S甚至在8岁时就大名鼎鼎。
–杰夫
17年11月27日在18:34
#3 楼
Googled:删除长文件名第一个结果
使用Unlocker http://www.filehippo.com/download_unlocker/
无法删除文件夹:正在被其他人或程序使用
无法删除文件:访问被拒绝存在共享
冲突。源或目标文件可能正在使用中。该文件正在被另一个程序或用户使用。确保磁盘未满或
有写保护,并且文件当前未被使用。
Unlocker可以帮助您!只需右键单击文件夹或文件,然后选择
Unlocker。如果文件夹或文件被锁定,将显示一个窗口,其中列出了储物柜
。只需单击全部解锁即可完成!
评论
我确实看到了,但是不知道unblocker是否可以安全使用,所以我忽略了它,我会尝试一下。编辑:没用。它适用于其他文件,但下拉菜单中未显示解锁
–克里斯
2014年5月16日20:20
当然,这是最简单的方法,尽管可能需要重新启动才能完成。 Unlocker完全没问题-多年来使用它,它是一个非常有用的实用程序。对于路径太长的文件或文件夹,它将找不到锁定句柄,但随后应在下拉菜单中提供“删除”选项。
–史蒂夫·佩蒂弗(Steve Pettifer)
15年1月12日,14:55
完美无缺地工作-有趣的是,我已经安装了此软件,但是在这种情况下我没有想到要使用它。
–丹尼尔·索科洛夫斯基
16年1月3日,下午1:27
在复制圆形连接文件夹的另一个文件夹中不起作用,但是有效的方法是将每个级别文件夹重命名为一个像1一样的字符,然后将其删除。
–丹尼尔·索科洛夫斯基
16年1月3日,下午1:39
这是唯一对我有用的答案(我正在使用Windows 10)。非常感谢你!
–user26832
16年7月12日在2:49
#4 楼
Microsoft有一篇有关删除不可删除文件的有用的知识库文章。原因#4与您有关。您最好的选择是将驱动器映射到文件所在的文件夹(分辨率3),然后通过该驱动器输入并删除它。
评论
我从来没有意识到我可以将网络驱动器映射到自己硬盘上的某个位置。这就是我在Windows资源管理器中所做的。导航到驱动器后,我可以轻松删除文件夹和内容。与上面显示的控制台解决方案相同的原理,但这是一种快速的GUI解决方案,对我来说更容易。
–RandomHandle
16年6月16日,0:47
我喜欢“解决方案5:使用可以穿越深层路径的工具”,这很讽刺。 Windows工具无法执行此操作,因此您也可以安装cygwin之类的工具来执行此操作。可能还有其他Windows控制台能够遍历长文件路径。
– Craig
20年1月16日在15:28
评论
它可以在命令行中与del命令一起使用吗?类似于del * .cache的内容应删除当前目录中的所有.cache文件。“路径\到\文件夹\ CACHEI〜系统找不到指定的文件”说了两次,里面有2个文件,但是什么也没做
再次考虑,您可以检查已经回答的其他问题之一。以这个为例。
如果这两个文件是目录中剩下的唯一文件,那么最好删除整个目录。在命令提示符下,尝试rd / s directoryname,这将清除目录名及其中的所有文件/子目录,因此请谨慎使用它:)
youtube.com/watch?v=qQTyTprFAOg