Групповое переименование
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3 ... 39, 40, 41 ... 49, 50, 51  Next  :| |:
Total Commander -> Автоматизация Total Commander

#586:  Author: FlasherLocation: Москва PostPosted: Tue Feb 14, 2017 19:00
    —
BeardFury78
За что спасибо? Мы отладкой занимаемся. Проблемные пути-то где?

#587:  Author: BeardFury78 PostPosted: Tue Feb 14, 2017 19:03
    —
Flasher
Сейчас нету окошка с проблемными путями, скрипт еще работает, переименовывает файлы, как я вижу по Everything.

#588:  Author: FlasherLocation: Москва PostPosted: Tue Feb 14, 2017 19:43
    —
BeardFury78
А, т.е. так долго процесс идёт. Ну, подождём.

#589:  Author: BeardFury78 PostPosted: Tue Feb 14, 2017 19:48
    —
Flasher
Придется ждать долго, у меня 560 тысяч файлов в папках и за 45 минут работы скрипт примерно на 25% продвинулся.

#590:  Author: BeardFury78 PostPosted: Tue Feb 14, 2017 23:26
    —
Скрипт закончил работу, файлы переименовались, насколько я могу судить, абсолютно большинство, если вообще не все (пока не увидел файлы, которые должны быть переименованы, но не переименованы). Только после завершения работы скрипта не появилось окно с списком проблемных путей, вместо этого появилась ошибка "Строка: 16, Символ: 1, Ошибка: Переменная не определена: 'S'". Вроде все правки правильно скопировал в тело скрипта, куда надо.

#591:  Author: FlasherLocation: Москва PostPosted: Tue Feb 14, 2017 23:58
    —
Блиииин... Я забыл, что там Option Explicit. Отладка коту под хвост...
Тогда предлагаю увидеть только первый проблемный путь и завершить скрипт. WSH.Echo S убираем, а вместо
Code:
              If Err.Number <> 0 Then S = S & vbCr & I.Path
пишем
Code:
              If Err.Number <> 0 Then MsgBox I.Path: WSH.Quit

#592:  Author: BeardFury78 PostPosted: Wed Feb 15, 2017 00:12
    —
Вот это выдало:
Quote:
e:\Файлы\TumblThree-v1.0.4.15\TumblThree\Blogs\adultinforeblogs\tumblr_mnjbhcWuVV1qibqomo3_r1_1280.gif

Там вместе с этим файлом лежат файлы, которые уже успешно переименовались. А этот файл не переименовался.
Все вместе эти файлы:
Quote:
E:\TumblThree-v1.0.4.15\TumblThree\Blogs\adultinforeblogs\tumblr_mnjbhcWuVV1qibqomo1_1280 kawagane - reblog Lorena B Lorena Garcia is a very spicy Latina adult and glamour model She has a nice tall body with all the dangerous Latina curves Lorena is stud.gif
E:\TumblThree-v1.0.4.15\TumblThree\Blogs\adultinforeblogs\tumblr_mnjbhcWuVV1qibqomo2_1280 kawagane - reblog Lorena B Lorena Garcia is a very spicy Latina adult and glamour model She has a nice tall body with all the dangerous Latina curves Lorena is stud.gif
E:\TumblThree-v1.0.4.15\TumblThree\Blogs\adultinforeblogs\tumblr_mnjbhcWuVV1qibqomo3_r1_1280.gif
E:\TumblThree-v1.0.4.15\TumblThree\Blogs\adultinforeblogs\tumblr_mnjbhcWuVV1qibqomo4_1280 kawagane - reblog Lorena B Lorena Garcia is a very spicy Latina adult and glamour model She has a nice tall body with all the dangerous Latina curves Lorena is stud.gif
E:\TumblThree-v1.0.4.15\TumblThree\Blogs\adultinforeblogs\tumblr_mnjbhcWuVV1qibqomo5_1280 kawagane - reblog Lorena B Lorena Garcia is a very spicy Latina adult and glamour model She has a nice tall body with all the dangerous Latina curves Lorena is stud.gif
E:\TumblThree-v1.0.4.15\TumblThree\Blogs\adultinforeblogs\tumblr_mnjbhcWuVV1qibqomo6_1280 kawagane - reblog Lorena B Lorena Garcia is a very spicy Latina adult and glamour model She has a nice tall body with all the dangerous Latina curves Lorena is stud.gif
E:\TumblThree-v1.0.4.15\TumblThree\Blogs\adultinforeblogs\tumblr_mnjbhcWuVV1qibqomo7_1280 kawagane - reblog Lorena B Lorena Garcia is a very spicy Latina adult and glamour model She has a nice tall body with all the dangerous Latina curves Lorena is stud.gif


Похоже причина в слишком большем длине файла tumblr_mnjbhcWuVV1qibqomo3_r1_1280.gif (в нем есть еще "_r1_"), чтобы к нему еще добавлять описание, получается больше 260 символов.

#593:  Author: FlasherLocation: Москва PostPosted: Wed Feb 15, 2017 00:58
    —
Похоже, или я с этого начал? Wink

Возвращаемся к исходнику. В конец 18 строки добавляем: , FP, NP
Вместо:
Code:
              If Rgx.Test(I) And Not FSO.FileExists(I.Parent.Self._
              Path & "\" & NN) Then FSO.GetFile(I.Path).Name = NN
пишем:
Code:
              FP = I.Path : NP = I.Parent.Self.Path & "\" & NN
              If Len(NP) > 259 Then FP = "\\?\" & FP : NP = "\\?\" & NP
              If Rgx.Test(I) And Not FSO.FileExists(NP) Then FSO.GetFile(FP).Name = NN

#594:  Author: BeardFury78 PostPosted: Wed Feb 15, 2017 01:03
    —
Flasher
Хорошо. Отредактировал скрипт. Сейчас всю структуру папок не буду повторно обрабатывать, только извлеку базовые имена файлов без цифр в счетчике, где нет пробелов, запущу поиск по таким именам по файл-списке и буду обрабатывать только те файлы, что будут найдены.

#595:  Author: FlasherLocation: Москва PostPosted: Wed Feb 15, 2017 13:12
    —
BeardFury78
И каков результат?

#596:  Author: BeardFury78 PostPosted: Wed Feb 15, 2017 13:27
    —
Flasher
Я все файлы нашел, что раньше не переименовались, всех переместил в другое место (чтобы не обрабатывать еще раз огромную структуру папок) и там скрипт успешно переименовал файлы. Вам спасибо за помощь!

#597:  Author: FlasherLocation: Москва PostPosted: Wed Feb 15, 2017 13:31
    —
BeardFury78
Пож-та. А это другое место соответсвовало критерию получения 260+ длины?

#598:  Author: BeardFury78 PostPosted: Wed Feb 15, 2017 13:35
    —
Flasher
Нет, я так специально не тестировал длину путей, переименовал в тестовом папке в корневом диске. Могу впрочем сейчас потестировать на пустых файлах с подходящей длиной пути.

#599:  Author: FlasherLocation: Москва PostPosted: Wed Feb 15, 2017 13:42
    —
BeardFury78
А иначе смыла нет.

#600:  Author: BeardFury78 PostPosted: Wed Feb 15, 2017 13:45
    —
Итоги тестирования. Скрипт нормально переименовывает, когда длина пути менее 260 символов. Но когда увеличиваю название папки так, что длина путей становится больше 260+, то при запуске скрипта происходит ошибка "Строка: 36, Символ: 62, Ошибка: Недопустимый вызов или аргумент процедуры" и файлы, которые бы получали вместе с описанием длину путей больше 260+ символов, не переименовываются.
Вот эта строка:
Quote:
If Rgx.Test(I) And Not FSO.FileExists(NP) Then FSO.GetFile(FP).Name = NN

Названия файлов те же самые, что приведены выше.



Total Commander -> Автоматизация Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2, 3 ... 39, 40, 41 ... 49, 50, 51  Next  :| |:
Page 40 of 51

Powered by phpBB © 2001, 2005 phpBB Group