在尝试删除npm install创建的node_modules目录时:

源文件名大于该文件支持的文件名 系统。尝试移动到路径名称较短的位置,或者尝试 在尝试此操作之前,将名称重命名为较短的名称

我也尝试了shift + delete,仍然有同样的问题。


当前回答

我使用Winrar简单地做到了这一点,这可能看起来是一个奇怪的解决方案,但工作得非常好。

右键单击node_modules文件夹 选择Add to archive…菜单上的。 打开Winrar对话框 只要检查归档后删除文件的选项 完成后不要忘记删除node_modules.rar。

(更新) 这也适用于7Zip


其他回答

尝试Visual Studio代码

在尝试了许多解决方案后,我发现这是相当简单的。 只需在Visual code中打开项目并删除它。UI可能会冻结几秒钟,但它肯定会工作。我使用许多大尺寸的node_modules文件夹进行测试

谢谢

仅使用DOS命令DELETE,无需任何安装:

在C或D盘上创建一个空文件夹test,并使用以下DOS命令

robocopy /MIR c:\test D:\UserData\FolderToDelete > NUL

完成上述命令后,您的文件夹将为空,现在您可以删除文件夹。

不用担心,您的测试文件夹将始终为空,因此您可以随时删除它。

在Windows上

执行以下命令删除node_modules及其子目录下的文件,并删除其中的文件夹:

DEL /F/S/Q node_modules > NUL 2>&1  &  RMDIR /S/Q node_modules > NUL 2>&1

NPM install -g remove-node-modules CD到根目录并删除节点模块 或删除节点模块路径/到/文件夹

来源:

https://github.com/j-quelly/node-cleanup

你可以根据@mike-caron的答案进行简单的批处理,这样你就不需要每次都输入整个robocopy命令,而只是输入所选文件夹的路径:

@echo off
ECHO What Directory would you like to empty?
ECHO Current path: %cd%
SET /p UserInputPath=Input relative path to directory:
ROBOCOPY /MIR empty_dir %cd%\%UserInputPath% > NUL
PAUSE

这里你在robocopy命令中使用名为empty_dir的空目录,需要与批处理文件在同一目录下才能工作。批处理文件完成其任务后,选定目录和empty_dir目录都将为空,以便您可以删除它们。

我做了一个简单的批处理文件,创建空文件夹,robocopy命令执行后,删除空文件夹和所选文件夹,这样你唯一需要做的就是输入你想删除的所选文件夹的路径。 如果你不想安装像rimraf这样的东西,它是快速和实用的。 你可以在这里下载https://github.com/5imun/WinCleaner