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

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

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

【问题讨论】:

    标签: windows file netbeans path server


    【解决方案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:\并删除,以此类推。

                      【讨论】:

                        猜你喜欢
                        • 2016-06-08
                        • 2014-11-27
                        • 1970-01-01
                        • 2016-07-13
                        • 2012-03-24
                        • 2023-02-02
                        • 2012-09-17
                        • 1970-01-01
                        • 1970-01-01
                        相关资源
                        最近更新 更多