将项目导入Eclipse时,它会以某种方式创建目录的递归版本。
现在,当我尝试删除任何文件时,我会收到“您指定的文件名过长”的提示。
我无法从命令行窗口中删除它。 我无法从资源管理器中删除它。 我无法对它做任何事情。 我不知道Eclipse创建了多少份副本。 在我意识到有问题并取消操作之前,Eclipse运行了大约一分钟。
我可以获取顶级文件夹的属性,并且显示它包含497个文件夹。
问题1:如何在Windows中删除所有这些东西?
问题2:Eclipse到底在想什么?
robocopy empty_dir base_nested_dir /purge
示例:如果您的文件夹路径过长,例如:
D:\BackupFolder\Copy\MyFiles\BackupFolder\Copy\MyFiles\BackupFolder\Copy\MyFiles\BackupFolder\Copy\MyFiles\BackupFolder\Copy\MyFiles\BackupFolder\Copy\MyFiles\BackupFolder\Copy\MyFiles\BackupFolder\Copy\MyFiles\BackupFolder\Copy\MyFiles\BackupFolder\Copy\MyFiles\BackupFolder\Copy\MyFiles\BackupFolder\Copy\MyFiles
按照以下说明进行删除。
C:\ Users \ Name \ Desktop \ temp
。robocopy C:\Users\Name\Desktop\temp D:\BackupFolder /purge
注意:如果步骤3中的任一路径中有空格,则该路径必须用引号括起来。
如果您不熟悉命令行,7Zip是最终解决方案。
干杯!
我曾经遇到与Eclipse类似的问题:使用Subclipse导入项目时,它生成了一个深层嵌套的目录结构,我无法删除。
我采取了两个步骤,首先我将目录名缩短到尽可能最短的长度(实际上我认为这是无意义的)。其次,我尽可能深地遍历目录树,然后剪切并粘贴分支(这使得删除原始分支成为可能),然后重复此过程。
@Charlie和@Tomalek的解决方案看起来可能更加优雅。不过我没有计划重复这种经历以找出答案。
关于问题1:
使用subst来短路路径:
subst Q: C:\very\long\path\created\by\eclipse
Q:
del *.*
对于第二个问题)
在其他操作系统中长路径不是那么大的问题,而且有Windows API函数可以处理长达255个字符的路径,所以他们只是这样做了,我想。
如果需要处理超过 MAX_PATH
长度的路径,则必须使用Windows文件API的Unicode版本(例如DeleteFileW
),并使用 \\?\前缀。您可以编写一个短程序来使用这些API枚举这些目录并将其删除。
免费下载Cygwin。
使用命令rm -f -r <folder-name>
并等待一段时间。
我有一个大小为1.5 GB的文件夹,里面有许多子文件夹,这个方法非常有效!
创建新文件夹并进行拖放,每次向下拖放若干个文件夹(并删除它们),直到全部清除为止。
我在使用Eclipse时也遇到了同样的问题...!会创建数不清的嵌套文件夹,占用了500多MB的空间!!!
我在Windows中尝试了很多方法都没有效果。
最终我通过重新启动使用Ubuntu并删除那个可怕的文件夹来解决问题。就这样简单。Ubuntu似乎没有像Windows一样基于文件路径长度的访问限制。这让生活变得更加轻松。:)
}`... 这也提醒了一个Ant任务可以完成相同的工作。 - bestsss