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 ... , 41, 42, 43  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
BeardFury78



Joined: 25 Aug 2016
Posts: 175

Post (Separately) Posted: Thu Feb 16, 2017 03:12    Post subject: Reply with quote

Flasher
Если вы про этот случай, то скрипт тоже переименовывает. И переименовывает другие файлы при длине пути исходного файла от 260+ символов, так что и они тоже получают длинные названия.
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Thu Feb 16, 2017 03:33    Post subject: Reply with quote

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



Joined: 25 Aug 2016
Posts: 175

Post (Separately) Posted: Thu Feb 16, 2017 03:48    Post subject: Reply with quote

Quote:
Там папки в таком пути возвращаются в коротком виде.

Т.е. виртуально, только для скрипта? Просто названия папок остаются такими же как были.
Quote:
Правда при путях родителей 260+ это не сработает.

Думаю, мне такой сценарий не грозит Smile
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Thu Feb 16, 2017 03:53    Post subject: Reply with quote

BeardFury78 wrote:
только для скрипта?
Конечно.
BeardFury78 wrote:
Просто названия папок остаются такими же как были.
А они и не затрагиваются.
BeardFury78 wrote:
Думаю, мне такой сценарий не грозит Smile
И хорошо. Я бы мог и это обойти, просто скорость прилично снизится.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
BeardFury78



Joined: 25 Aug 2016
Posts: 175

Post (Separately) Posted: Thu Feb 16, 2017 03:56    Post subject: Reply with quote

Flasher
Да не надо, у меня вообще нет структур папок, чьи родительские папки имеют пути больше 260+ символов.
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Thu Feb 16, 2017 03:58    Post subject: Reply with quote

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



Joined: 05 Sep 2015
Posts: 22

Post (Separately) Posted: Fri Feb 17, 2017 09:18    Post subject: Заглавные буквы до ближайшего тире Reply with quote

У меня масса альбомов надписанных как попало (без учета регистра). Мне нужно чтоб имя исполнителя было заглавными буквами, а название альбома (что после тире), как в предложениях (можно и с первыми буквами заглавными). Пример превращения 1-го во 2-е:

аллА пУгачева - ПЕРвая люБОВЬ
АЛЛА ПУГАЧЕВА - Первая любовь

Словом, как сделать прописные буквы до ближайшего тире?
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 8615
Location: Россия, Саратов

Post (Separately) Posted: Fri Feb 17, 2017 10:16    Post subject: Reply with quote

Totas
Опять поиск сломался? Wink
Прежде чем лезть в автоматизацию, следовало просмотреть тему, где рассматривается стандартный функционал инструмента группового переименования. Отсюда и до результирующего скрипта. Ничего не напоминает? И вот это советую вспомнить.
Замечание за нарушение правил форума.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2126

Post (Separately) Posted: Sun Feb 19, 2017 22:37    Post subject: Reply with quote

Totas
Можно использовать Script Content Plugin в сочетании с инструментом группового переименования в тотале (Ctrl+M).
В папке плагина создать Ren_UCase.vbs:
Code:
N=InStr(filename,"-")
If N>0 Then content=UCase(Left(filename,N+2)) & LCase(Mid(filename,N+3)) else content=filename
Настроить ini-файл плагина:
Code:
[Script]
Section=Ren_UCase
[Ren_UCase]
LongName=0
ParseDirs=1
Script=Ren_UCase.vbs
В тотале выделить альбомы, вызвать инструмент группового переименования, где в качестве маски для имени файла указать [=script.Result], для расширения не указывать ничего.
Back to top
View user's profile Send private message
BeardFury78



Joined: 25 Aug 2016
Posts: 175

Post (Separately) Posted: Sat Jul 15, 2017 11:32    Post subject: Reply with quote

Flasher
Опять появилась просьба. Это по поводу этого скрипта добавления описаний к именам групповых файлов. Есть такие файлы примерно такого вида:
Quote:
22339157288_1 some words.jpg
22339157288_2.jpg
22339157288_3.jpg
22339157288_4.jpg
22857713006_1 some phrases.jpg
22857713006_2.jpg
22857713006_3.jpg
22857713006_4.jpg

Обнаружил, что если запустить скрипт, то они переименовываются вот так:
Quote:
22339157288_1 some words.jpg
22339157288_2 some words.jpg
22339157288_3 some words.jpg
22339157288_4 some words.jpg
22857713006_1 some phrases.jpg
22857713006_2 some words.jpg
22857713006_3 some words.jpg
22857713006_4 some words.jpg

То есть, первое описание добавляется к именам других групп, за исключением файлов, которые уже имеют описания. Еще обнаружил, что это продолжается вплоть до того, как первая цифра в именах файлов сменяется на другую, а затем скрипт берет другое описание у первого файла с другой цифрой в начале названия и именует дальше файлы этим описанием, пока очередь не доходит до файла с третьей цифрой в начале навзания и так далее. Пример:
Quote:
22330174548_1 some words.jpg
22330174548_2.jpg
22330174548_3.jpg
22330174548_4.jpg
29000509794_1 some phrases.jpg
29000509794_2.jpg
29000509794_4.jpg
29000509794_7.jpg
30822924938_1 some sentences.gif
30822924938_2.gif
30822924938_3.gif
30822924938_4.gif
39765039192_1 some words2.jpg
39765039192_2.jpg
39765039192_3.jpg
39765039192_4.jpg
40493850061_1 some words3.jpg
40493850061_2.jpg
40493850061_3.jpg
40493850061_5.jpg
40698349031_1 some phrases2.jpg
40698349031_2.jpg
40698349031_3.jpg
40698349031_4.jpg

После запуска скрипта они переименуются так:
Quote:
22330174548_1 some words.jpg
22330174548_2 some words.jpg
22330174548_3 some words.jpg
22330174548_4 some words.jpg
29000509794_1 some phrases.jpg
29000509794_2 some words.jpg
29000509794_4 some words.jpg
29000509794_7 some words.jpg
30822924938_1 some sentences.gif
30822924938_2 some sentences.gif
30822924938_3 some sentences.gif
30822924938_4 some sentences.gif
39765039192_1 some words2.jpg
39765039192_2 some sentences.jpg
39765039192_3 some sentences.jpg
39765039192_4 some sentences.jpg
40493850061_1 some words3.jpg
40493850061_2 some words3.jpg
40493850061_3 some words3.jpg
40493850061_5 some words3.jpg
40698349031_1 some phrases2.jpg
40698349031_2 some words3.jpg
40698349031_3 some words3.jpg
40698349031_4 some words3.jpg

Решил самостоятельно внести в скрипт для этого случая вот этот регэксп:
Quote:
Set Rgx = New RegExp : Rgx.Pattern = "^\d+_\d+\.[A-z]{1,4}$"
Set Reg = New RegExp : Reg.Pattern = "^(\d+)_\d+( .+\.)[A-z]{1,4}$"

Но они попрежнему именуются так, как я описал выше. Вроде регэксп правильный (в notepad++ правильно помечает нужные файлы), но скрипт неправильно переименовывает файлы, пробовал удалить старый регэксп из скрипта, не помогло. Подскажите, пожалуйста, что нужно внести в скрипт, чтобы он правильно переименовал эти файлы? И желательно чтобы при этом он продолжал работать с файлами вроде таких:
Quote:
msos7dmnzY1qdjjbao1_1280 some words.jpg
msos7dmnzY1qdjjbao2_1280.jpg
msos7dmnzY1qdjjbao4_1280.jpg
msos7dmnzY1qdjjbao5_1280.jpg
msos7dmnzY1qdjjbao6_1280.jpg

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



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

Post (Separately) Posted: Sat Jul 15, 2017 20:24    Post subject: Reply with quote

BeardFury78
Конечно, совместить невозможно, т.к. в исходном случае мы рассматривали совпадения до первого числа (счётчика), а сейчас это совпадение фактически и является числом. Чтобы это заработало для нового случая, нужно в 13-й строке убрать первый '\d+'.
Чтобы не плодить скрипты, достаточно в приведённых строках регулярки с кавычками заменить на WSH.Arguments(0) и WSH.Arguments(1) соответственно, задавая их уже в качестве 1-го и 2-го параметров.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Dimsok



Joined: 17 Aug 2014
Posts: 532

Post (Separately) Posted: Wed Sep 20, 2017 10:18    Post subject: Reply with quote

Имеются файлы вида:
bathbut 1.png
bathrobe 2.png
bathrobe 17.png
bathrobe 68.png
bathrobe 92.png
sponge 50.png
sponge 85.png
sponge 167.png
sponge 250.png
sponge 251.png

Как их перенумеровать? bathrome 1,2,3, sponge 1,2,3 и т.п. Ключ же [C] в полях поиска и замены не действует.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2126

Post (Separately) Posted: Wed Sep 20, 2017 11:08    Post subject: Reply with quote

Dimsok
В ИГП сначала Найти: (.*) (.*) и Заменить на: $1 1.png с добавленной галкой для Рег. выраж. Далее Выполнить с согласием на автопереименование, связанное с одинаковыми именами.
Затем снова войти в ИГП, Найти: 1 (|) и Заменить на: <Пусто> без галки для Рег. выраж.


Last edited by sa on Wed Sep 20, 2017 13:13; edited 2 times in total
Back to top
View user's profile Send private message
Dimsok



Joined: 17 Aug 2014
Posts: 532

Post (Separately) Posted: Wed Sep 20, 2017 11:14    Post subject: Reply with quote

Со скобками я уж разобрался, только в некоторых случаях надо счётчиком потом, потому что конфликт имён. Только у меня сложней вышло: (.*)(\((.*)\)) заменить на $1 $3.

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

Quote:
В ИГП сначала Найти: (.*) (.*) и Заменить на: $1.png

Только так отсекаются крайние слова. Например "buildings of different styles" становится "buildings of different". Надо чтоб только цифры на конце. Чё-нить вроде \d$, но чтоб для любого количества цифр.

Добавлено спустя 3 минуты:

Quote:
Выполнить с согласием на автопереименование, связанное с одинаковыми именами.

А это где? Это случаем не в 9 версии появилось?
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 8615
Location: Россия, Саратов

Post (Separately) Posted: Wed Sep 20, 2017 11:36    Post subject: Reply with quote

Dimsok
Да, именно там и появилось.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
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 ... , 41, 42, 43  Next
Page 42 of 43

 
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