
Этот вопрос был задан, но, к сожалению, ни одно из предложений не сработало.
Вот ситуация: файл синхронизирован с локальной папкой на моем компьютере в папке /users из Google Drive. Это pdf (похоже на сохраненный чек откуда-то). Имя содержит >255 символов, что сбивает Windows с толку.
Что файл не будет делать
- Открыть
- Копировать
- Переименовать
- Двигаться
- Вставить
- показать свойства
На самом деле я не получил от файла никакого ответа, кроме той же ошибки.
Пробованные решения:
dir /x
--сокращенное имя не указано, просто повторяется обычное имя.- Использую FileBoss, Explorer++, 7zip
rmdir /S /Q <dir>
на самом деле не работает, так как находится в моей пользовательской папке...
Если у кого-то есть идеи, которые можно попробовать реализовать, я буду открыт для них.
Редактировать — в этом случае само имя файла больше 255 символов. Изменение каталогов, в которые он вложен, не повлияет на проблему, поскольку нет проблем с путем к файлу. (Эта проблема сама по себе исключает множество других решений).
решение1
Я бы загрузился вLinux Live Disc, смонтируйте диск Windows и извлеките его с помощью Linux/Unix.
Я думаю, что основные команды, которые вам понадобятся, это:
mount -t ntfs-3g /dev/sdX# /mnt
cd /mnt/Users/You
rm -f further/loc/away.filename
(Примечание: вам может потребоваться запустить , fdisk -l
чтобы найти раздел Windows)
и это должно привести вас туда. Мне тоже пришлось это сделать в какой-то момент времени.
решение2
В Windows просто используйте7зфайловый менеджер или любое другое приложение типа проводника, которое использует версии API Unicode для обработки файлов.Дубликатыи дополнительная информация:
(1) Техническая подоплека проблемы: ограничение MAX_PATH (см. также (4)).
(2) Как преодолеть это ограничение на уровне программиста.
(3) Как преодолеть это ограничение на уровне пользователя.
Пожалуйста, имейте в виду, что (3) — это ТОЛЬКО обходной путь. Он ни в коем случае не подходит для программирования. Хуже всего то, что ребята из Microsoft смешивают API, что может привести полностью совместимое с UNC-path приложение к 260-MaxPath-StoneAge из-за всего лишь одного вызова несовместимого API (ср. (2)).Исследовательидругие продукты(включая cmd и powershell) от Microsoft, возможно, никогда не преодолеют эту проблему из-за своей истории (голосования по ссылкам за устранение ограничения либо игнорируются, либо отклоняются).
В зависимости от варианта использования и версии предел, похоже, меняется. Проводник Windows 8, похоже, способен обрабатывать примерно в 4 раза более длинные пути (4), тогда как начиная с Windows 7 самый длинный путь файла, который можно переместить в корзину, уменьшился с 259 до 215 (5). Почему программисты, начинавшие с нуля с Windows NT, не реализовали динамическое распределение, остается загадкой. Описан подход для сегодняшней ситуации с использованием не-Unicode APIздесь(копия).
Другие темы, связанные с программированием и путями UNC в сети SO:
6UNC-пути в Java и их реализация на уровне JVM.
Случаи, когда я сталкивался с этим ограничением, были действительно раздражающими:
Организация иерархий исходного кода:nodeJS
Резервное копирование файлов в глубоко вложенных структурах папок
Соглашение об именовании документов (например, статей, имеющих длинное описание — Аннотация, Авторы, Название, DOI — в качестве имени для быстрого поиска)
Обмен файлами между Linux (где нет такого ограничения) и Windows
решение3
Вы можете попробовать стать владельцем файла и посмотреть, сможете ли вы удалить его. Вы можете сделать это, щелкнув правой кнопкой мыши по файлу: Свойства -> Безопасность -> Дополнительно -> Владелец -> Изменить, а затем измените владельца на свое имя пользователя (или группу администраторов).
Для получения более подробной информации проверьтеэтотвне.
решение4
Если файл был создан на Google Диске, почему бы не удалить его с помощью одного из интерфейсов Google Диска (веб, Android и т. д.) или не переименовать его там?