2016-02-25 4 views
4

Я сделал переключатель для использования npm/gulp в Visual Studio в Windows. Однако удаление связанных файлов было болезненным в том, что я не могу легко удалить папку node_modules.Ошибка Windows Удаление node_modules Папка: Исходный путь слишком длинный

При попытке удаления иерархии папок для решения с помощью проводника Windows, я получаю следующее сообщение «Source Path Too Long» диалог:

enter image description here

От там, я попытался с помощью команды Windows, запрос на удаление с использованием

rmdir /s /q node_modules 

который может работать или не работать. Когда он не работает, ошибка выглядеть как

(snip) 
~1\NODE_M~1\read-pkg\NODE_M~1\PATH-T~1\readme.md - The file name is too long. 

node_modules\GULP-I~2\NODE_M~1\imagemin\NODE_M~1\IMAGEM~1\NODE_M~1\OPTIPN~1\NODE_M~1\logalot\NODE_M~1\squeak\NODE_M~1\LPAD-A~1\NODE_M~1\meow\NODE_M~1\redent 
\NODE_M~1\INDENT~1\NODE_M~1\REPEAT~1\NODE_M~1 - The directory is not empty. 

node_modules\GULP-I~2\NODE_M~1\imagemin\NODE_M~1\IMAGEM~1\NODE_M~1\OPTIPN~1\NODE_M~1\logalot\NODE_M~1\squeak\NODE_M~1\LPAD-A~1\NODE_M~1\meow\NODE_M~1\redent 
\NODE_M~1\INDENT~1\NODE_M~1\REPEAT~1\package.json - The file name is too long. 
(snip) 

только последовательно успешный способ, который я нашел, чтобы удалить иерархию папок, чтобы войти в подпапку после вложенной, переименования каждой папки на что-то короткое, как " а». В конце концов, путь достаточно короткий, чтобы разрешить удаление. Это может потратить немало времени.

Я видел ссылки на предотвращение проблемы, но мой вопрос заключается в том, чтобы легко удалить иерархию папок, содержащую проблемную длину пути.

Короче говоря, вопрос:

Есть простой способ удаления иерархии папок в Windows, которая получает «Source Path Too Long» ошибка?

ответ

9

Это самый простой вариант я нашел до сих пор:

npm install -g rimraf 

затем

rimraf node_modules 

Оттуда иерархия папок должна иметь возможность быть удалены.

Этот параметр требует установки пакета rimraf. Решение, не требующее пакета, было бы неплохо, но я не нашел простой.

+1

Угу. Самое простое решение. – MoonStom

2

Robocopy может сделать это, как хорошо ... Вот RegKey я вставил, чтобы иметь возможность выпрямить Нажать на> удалить любую папку с помощью Robocopy, которые будут удалены npm_module папки

Windows Registry Editor Version 5.00 

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\RoboDelete] 

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\RoboDelete\command] 
"Extended"="" 
@="\"C:\\windows\\delfolder.bat\" \"%1\"" 

и здесь Бат содержимого файл

@echo off 
if {%1}=={} @echo Syntax: DelFolder FolderPath&goto :EOF 
if not exist %1 @echo Syntax: DelFolder FolderPath – %1 NOT found.&goto :EOF 
setlocal 
set folder=%1 
set MT="%TEMP%\DelFolder_%RANDOM%" 
MD %MT% 
RoboCopy %MT% %folder% /MIR 
RD /S /Q %MT% 
RD /S /Q %folder% 
endlocal 

Надеется, что это помогает ..

Смежные вопросы