Dropbox сообщает мне, что многие мои файлы не синхронизируются, потому что их имя превышает максимальную длину символа
https://www.dropbox.com/help/145/en
Максимальная длина символа
Windows допускает только имена файлов и папок длиной не более 260 символов. Обратите внимание, что Windows считает путь к файлу как часть имени, поэтому такой файл, как C:\Users\Panda\ Мои документы \ Dropbox \ Creative Nonfiction \ Моя автобиография \ Любимые вещи \ Любимые продукты \ Бамбук \ Семейные рецепты \ Fresh Leaves.doc будет 142 символа, а не 16. Если полный путь к файлу и имя превышает 260 символов, сократите имя или переместите файл или папку в папку более высокого уровня в вашем Dropbox.
Как найти все файлы в каталоге, имена файлов и папок которого превышают 250 символов?
(Примечание: инструмент "Проверить плохие файлы" на этой странице также не находит их.)
Обновление: на данный момент есть два предложения: одно с использованием powershell, которое по иронии судьбы умерло, когда имя файла стало слишком большим, другое с использованием команды cygwin find и xargs, которая может работать, но все еще работает (несколько минут спустя).
Я решил свою непосредственную проблему.
В окне оболочки emacs я запустил очень простую находку
$ find . -type f -print >> ../files.log
Затем я открыл это в emacs и набрал m-x list-matching-lines ^ ESC 230 . RETURN
Который отображает строки, которые соответствуют регулярному выражению, и регулярное выражение здесь состоит в том, что строка содержит не менее 230 символов, где 230 было всего лишь приблизительным предположением для строк, которые могут быть проблематичными. И это показало мне два файла, которые были слишком длинными.
Для примерно 20 000 файлов этот фильтр регулярных выражений оказался практически мгновенным.