文件路径太长无法删除

Posted

技术标签:

【中文标题】文件路径太长无法删除【英文标题】:File path is too long to delete 【发布时间】:2016-02-29 12:48:10 【问题描述】:

我使用 NetBeans IDE 将项目导入我的系统(Win 98 Server 64 位),它创建的文件路径太长,无法再次删除文件。如何删除文件?

无法使用 NetBeans 删除, 删除包含路径结构的文件夹不起作用, 永久删除文件不起作用。 使用 rmdir \S \Q 不起作用

【问题讨论】:

【参考方案1】:

我成功使用了 7-zip 和 shift+del 文件夹。

【讨论】:

【参考方案2】:

由于我在 Windows 10 中遇到此问题,因此我与您分享 100% 有效的解决方案,并且我在此 link 中找到了该解决方案。

要删除文件夹,请使用此命令行

rimraf <dir>

rimraf 是一个 Node.js 包,因此您需要安装包含 npm 的 Node.js。然后就可以运行了:

npm install -g rimraf

然后您可以从命令行运行 rimraf。 我找到了这个解决方案,因为 npm 本身由于嵌套依赖项的方式导致了这个问题。

顺便说一句,rimraf 的名字来自 UNIX 命令 rm -rf,它递归地删除文件和文件夹。

【讨论】:

【参考方案3】:

Windows 要求文件路径少于 255 个字符。尝试重命名一些包含目录,直到路径字符长度小于 255。然后您应该可以删除文件。

【讨论】:

【参考方案4】:

我使用 Cygwin (https://www.cygwin.com/) 成功删除了此类文件,只需转到文件夹并尝试使用删除文件

rm <filename>

【讨论】:

【参考方案5】:

只要进入文件夹,直到文件路径不会太长而无法擦除

【讨论】:

无论我在路径结构中的哪个位置,被删除文件的文件路径还是一样 @Krusing 你试过了吗?你收到错误了吗?这种技术对我很有效,尽管它可能非常乏味。【参考方案6】:

你也可以试试这个(免责声明:我是作者):https://github.com/marceln/SuperDelete。这是一个 .NET 命令行应用程序,我为多个运行时版本构建了版本。

我写了它,特别是因为没有最少的依赖的便捷方法。您可以在https://github.com/marceln/SuperDelete/releases 查看发布页面。

【讨论】:

【参考方案7】:

我通过在样板文件上运行 npm install 来安装节点模块。在尝试删除这些文件夹时,Windows 不允许我们删除它们,因为路径太长而无法处理。

:) :) 经过一些浅薄的研究,我认为我自己的一段代码 sn-p 将文件夹从根重命名为叶是正确的,这样它也会为此尝试抛出任何违规异常。

警告!注意文件夹路径。该程序将使用整数重命名文件夹名称及其子文件夹。

它对我有用。以下是c#项目的代码。

    public static int directoryCounterIndex = 0;
    public static void Main(string[] args)
    
        string dirPath = @"<<Folder_You_Wish_To_Delete>>";
        RenameDirectories(dirPath);
    

    private static void RenameDirectories(string dirPath)
    
        directoryCounterIndex += 1;
        var newPath = Path.GetDirectoryName(dirPath) + Path.DirectorySeparatorChar + directoryCounterIndex.ToString();
        Directory.Move(dirPath, newPath);
        var subDirectories = Directory.GetDirectories(newPath);
        foreach (var subDirectory in subDirectories)
        
            RenameDirectories(subDirectory);
        
    

【讨论】:

【参考方案8】:

在 Windows 10 x64 中,您可以install Ubuntu bash。 然后您可以使用:cd /mnt/&lt;disk drive&gt;/&lt;path&gt; 转到任何目录并使用:rm -rf &lt;path&gt; 将其删除,就像您在 Linux 环境中一样。

【讨论】:

【参考方案9】:

打开 7zip 文件管理器,进入 7zip 文件管理器中的文件夹,按住 Shift 键。单击键盘上或 7zip 文件管理器工具栏中的“删除”按钮;确保您仍然按住 Shift 键。单击“确定”按钮;确保您仍然按住 Shift 键。

【讨论】:

【参考方案10】:

感谢 Microsoft 发布的新 open-source project,您可以使用 WinFile(在 WinXP 中引入)轻松删除网络共享上过长的路径。 您只需将网络共享映射到drive letter。有时你必须去“回到未来”。

WinFile(为 Win10 编译)在此处提供 https://github.com/Microsoft/winfile

要查找许多太长的路径并自动修复,我推荐Path Too Long Auto Fixer - 提供免费演示。

【讨论】:

【参考方案11】:

就我而言,该文件有 20 个文件夹深。我向上移动文件并逐渐删除它。例如。如果文件在 c:...20 层文件夹..\filename 中,您首先 mv c:...15 层文件夹\nextFolder 到 c:\ 并删除它。然后mv c:...10层文件夹到c:\并删除,以此类推。

【讨论】:

以上是关于文件路径太长无法删除的主要内容,如果未能解决你的问题,请参考以下文章

文件路径太长无法删除

Windows中删除路径太长目录及文件

Windows中目录及文件路径太长无法删除的解决方法

windows 如何删除fis3的发布路径[文件名或扩展名太长,目录层次多无法删除的问题]

文件名对目标文件夹可能太长

路径太深、文件名太长--导致无法复制