1

У меня есть каталог, содержащий файл, который я хочу удалить. Однако имя файла слишком длинное:

> Remove-Item -Recurse target
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.

Я не могу удалить его с помощью shift+delete в Windows Explorer:

Скриншот

Я не могу переместить файл, так как его имя слишком длинное. Есть ли способ удалить файл? Я использую Windows 8.1. Бонусные баллы, если вы можете объяснить, как такой файл мог попасть на мой диск и почему Explorer и PowerShell не могут его удалить.

1 ответ1

0

Вы должны быть в состоянии сделать это, используя DeleteFile() и путь, используя запись длинного пути, как \\?\C:\path\to\your\file.class .

Со связанной страницы MSDN:

В версии ANSI этой функции имя ограничено MAX_PATH . Чтобы расширить это ограничение до 32 767 широких символов, вызовите версию функции в Юникоде и добавьте "\\?\" на путь. Для получения дополнительной информации см. Наименование файла .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .