Как удалять каталоги с путем/именами слишком долго для нормального, удаляют

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

Наш процесс сборки создает много временных файлов (многие создают прочь из WSDL), которые сталкиваются с этим пределом. Наш скрипт Ant так или иначе может удалить их при выполнении чистого, но иногда я должен удалить каталог рабочей области (куда все временные файлы идут), на самом деле не делая полного чистого от муравья.

Это - те же ошибки этот вопрос, но ответы там действительно не работают на меня, поскольку я имею дело с каталогом, не файлом, и я не всегда знаю, какие определенные файлы или подкаталоги вызывают проблему. И я стараюсь избегать любого ручного процесса (кроме инициирования единственной команды) для фактического удаления их.

Если я пытаюсь удалить каталог из Проводника, я получаю ошибку

Cannot delete [file name]: The file name you specified is not valid or too long.  
Specify a different file name

Попытка Remove-Item в powershell дает следующую ошибку:

Remove-Item : The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
At line:1 char:12
+ Remove-Item  <<<< -force -Recurse <directory>

Кто-либо знает о каких-либо инструментах или простых способах двигаться, это удаляет ошибку, не имея необходимость вручную находить проблемные файлы и перемещаться/переименовывать их?

384
задан 10.05.2017, 17:49

4 ответа

Я полагаю, что нашел способ удалить вещи из cmd. Первоначально я попробовал del команда, но это не работало. Затем я помнил rmdir. Выполнение следующего:

rmdir /S /Q <dir>

кажется, работал.

85
ответ дан 07.12.2019, 07:34

Используйте менеджера с 7 zip-файлами для удаления их.

Если Вы все еще испытываете затруднения, удостоверяетесь, чтобы Вы использовали Shift+Delete в менеджере с 7 zip-файлами. Иначе Windows пытается переместить их в Корзину (который перестанет работать снова).

426
ответ дан 07.12.2019, 07:34

Можно также удалить их использующий их эквивалентное краткое название. dir /x покажет Вам их.

2
ответ дан 07.12.2019, 07:34

Просто отбрасывание от Powershell в команду путем выполнения ниже:

Cmd /C "rmdir /S /Q <dir>" 
22
ответ дан 07.12.2019, 07:34

Теги

Похожие вопросы