解决Windows文件名过长无法删除问题

今天在windows平台下学习yeoman的时候遇到一个问题,yeoman通过generator生成的项目中的依赖模块层级太深,无法删除。

借此机会,总结一下Windows下文件无法删除的解决方法。


问题

Windows下文件无法删除的原因主要有以下两种:

  1. 文件名称过长

  2. 文件目录嵌套过深


资料

  • Linux文件名的长度限制是255个字符

  • windows下完全限定文件名必须少于260个字符,目录名必须小于248个字符。


解决方法

1. 文件名称过长

  • 在文件所在目录点击 shift + 鼠标右键 ,选择在当前目录打开命令行窗口

  • 使用命令 dir /x ,显示系统长文件名对应的缩短文件名(在文件大小和原文件名之间会有一个缩短名称)

  • 使用del命令+短文件名进行删除,删除后按 F5 进行刷新,可以发现文件已经被删掉了


2. 文件目录嵌套过深

对于文件目录嵌套过深的问题,可以自上问下逐级修改文件夹名称为短名称,如”\1\1…”等,但如果文件数较多,使用该方法工作量就太大了,下面另辟蹊径,借用压缩软件winrar来解决该问题。

  • 安装winrar,右键点击待删除文件,选择添加到压缩文件

  • 选择压缩后删除原来的文件