Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Переименование группы файлов по их дате и времени
Goto page Previous  1, 2, 3, 4, 5  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Fri Feb 05, 2016 09:11    Post subject: Reply with quote

Eug63
ОК. Тогда убираем и попробуем под
Code:
        If .Test(N) Then
вставить
Code:
MsgBox True : Wscript.Quit
Появится?
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Eug63



Joined: 01 Feb 2016
Posts: 13

Post (Separately) Posted: Fri Feb 05, 2016 09:18    Post subject: Reply with quote

Flasher
Появилось сообщение "Выполнено".
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Fri Feb 05, 2016 09:25    Post subject: Reply with quote

Eug63
Возможно регулярки на x64 как-то иначе работают. Такой скрипт (прямо из файловой панели запускать) покажет истину?:
Code:
Filt = "*.jpg;*.jpeg"
Name = "2012-08-20 11-07-52.JPG"
With New Regexp
   .IgnoreCase = True
   .Pattern = "^(\d{2,4})([ -\.])(\d{2})([ -\.])(\d{2,4} +\d{2})([ -\.])"&_
   "(\d{2})([ -\.])(\d{2})(.(" & Replace(Mid(Filt, 3), ";*.", "|") & "))$"
   MsgBox .Test(Name)
End With

_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Eug63



Joined: 01 Feb 2016
Posts: 13

Post (Separately) Posted: Fri Feb 05, 2016 09:31    Post subject: Reply with quote

Flasher
Появилось сообщение "Истина".
Но такого файла в панели нет.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Fri Feb 05, 2016 09:35    Post subject: Reply with quote

Eug63
Тогда я ничего не понимаю. Предлагаю провести тест исходника с одним файлом 2012-08-20 11-07-52.JPG в папке.
Есть ещё мысль - в 34 строке добавить выделенное красным: N = CStr(F.Name)

Eug63 wrote:
Но такого файла в панели нет.
Это только проверка выражения из исходника на приведённом имени файла, а не сущ. файле.

А сам скрипт где лежит?
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Eug63



Joined: 01 Feb 2016
Posts: 13

Post (Separately) Posted: Fri Feb 05, 2016 09:54    Post subject: Reply with quote

Flasher
Flasher wrote:
Тогда я ничего не понимаю. Предлагаю провести тест исходника с одним файлом 2012-08-20 11-07-52.JPG в папке.
Есть ещё мысль - в 34 строке добавить выделенное красным: N = CStr(F.Name)

Без изменений.

Flasher wrote:
А сам скрипт где лежит?

В этой же папке.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2563

Post (Separately) Posted: Fri Feb 05, 2016 10:04    Post subject: Reply with quote

Может, в качестве разделителя между датой и временем в именах используется не обычный пробел, а неразрывный, например?
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Fri Feb 05, 2016 10:07    Post subject: Reply with quote

Так я выше предложил протестировать с конкретным именем файла.

Eug63
См. в ЛС.

Добавлено спустя 1 час 18 минут:

Выяснилось, что F.Name на x64 даёт базовое имя вместо полного. Скрипт исправлен под обе битности.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2563

Post (Separately) Posted: Fri Feb 05, 2016 11:42    Post subject: Reply with quote

Flasher
Надо ещё учесть случай, когда при переименовании файлы с новым именем уже существуют.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Fri Feb 05, 2016 12:01    Post subject: Reply with quote

sa
Я думал об этом, но не стал заморачиваться из-за путаницы в алгоритме перегруппировок (это сложнее, чем со стандартными целыми), да и на скорости скажется. Вероятность того, что соседний файл будет иметь то же время, включая секунды, достаточно мала. Ну, а добавка счётчика вряд ли устроит.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2563

Post (Separately) Posted: Fri Feb 05, 2016 12:40    Post subject: Reply with quote

В случае, когда переименовываются все файлы в папке (не часть), нужды в счётчике вовсе и нет. Препятствием может стать просто один из ещё не переименованных файлов.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Fri Feb 05, 2016 23:11    Post subject: Reply with quote

И переименованных тоже. Работа же ведётся как на плюс, так и на минус. Поэтому смысл тут только запоминании отработанного, в формировании отложенных групп, для которых может быть ещё и куча других подгрупп на разной глубине. В общем, тот ещё гемор.

Хотя можно пойти немного по другому пути.

 Кое-что вырисовалось (непереименованные файлы, которые уткнулись в одно имя, отобразятся в окне):

_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Eug63



Joined: 01 Feb 2016
Posts: 13

Post (Separately) Posted: Mon Feb 08, 2016 05:03    Post subject: Reply with quote

Еще раз спасибо, все хорошо работает)).
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2563

Post (Separately) Posted: Mon Feb 08, 2016 12:48    Post subject: Reply with quote

Предполагаю, что при последнем алгоритме работы скрипта, отображаться в окне будет просто нечему, поскольку все файлы благополучно переименуются.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Mon Feb 08, 2016 13:04    Post subject: Reply with quote

Только при условии несовпадения дат всех файлов в каждом подкаталоге. Но при разных форматах совпадения допустимы.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3, 4, 5  Next
Page 4 of 5

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group