Страница 42 из 52

Добавлено: Чт фев 16, 2017 02:12
BeardFury78
Flasher
Если вы про этот случай, то скрипт тоже переименовывает. И переименовывает другие файлы при длине пути исходного файла от 260+ символов, так что и они тоже получают длинные названия.

Добавлено: Чт фев 16, 2017 02:33
Flasher
BeardFury78
Ну, в общем-то да. Там папки в таком пути возвращаются в коротком виде. Правда при путях родителей 260+ это не сработает.

Добавлено: Чт фев 16, 2017 02:48
BeardFury78
Там папки в таком пути возвращаются в коротком виде.
Т.е. виртуально, только для скрипта? Просто названия папок остаются такими же как были.
Правда при путях родителей 260+ это не сработает.
Думаю, мне такой сценарий не грозит :)

Добавлено: Чт фев 16, 2017 02:53
Flasher
BeardFury78 писал(а):только для скрипта?
Конечно.
BeardFury78 писал(а):Просто названия папок остаются такими же как были.
А они и не затрагиваются.
BeardFury78 писал(а):Думаю, мне такой сценарий не грозит :)
И хорошо. Я бы мог и это обойти, просто скорость прилично снизится.

Добавлено: Чт фев 16, 2017 02:56
BeardFury78
Flasher
Да не надо, у меня вообще нет структур папок, чьи родительские папки имеют пути больше 260+ символов.

Добавлено: Чт фев 16, 2017 02:58
Flasher
BeardFury78
Структур файлов, по-видимому. ;)

Заглавные буквы до ближайшего тире

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

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

Словом, как сделать прописные буквы до ближайшего тире?

Добавлено: Пт фев 17, 2017 09:16
Avada
Totas
Опять поиск сломался? :wink:
Прежде чем лезть в автоматизацию, следовало просмотреть тему, где рассматривается стандартный функционал инструмента группового переименования. Отсюда и до результирующего скрипта. Ничего не напоминает? И вот это советую вспомнить.
Замечание за нарушение правил форума.

Добавлено: Вс фев 19, 2017 21:37
sa
Totas
Можно использовать Script Content Plugin в сочетании с инструментом группового переименования в тотале (Ctrl+M).
В папке плагина создать Ren_UCase.vbs:

Код: Выделить всё

N=InStr(filename,"-")
If N>0 Then content=UCase(Left(filename,N+2)) & LCase(Mid(filename,N+3)) else content=filename
Настроить ini-файл плагина:

Код: Выделить всё

[Script]
Section=Ren_UCase
[Ren_UCase]
LongName=0
ParseDirs=1
Script=Ren_UCase.vbs
В тотале выделить альбомы, вызвать инструмент группового переименования, где в качестве маски для имени файла указать [=script.Result], для расширения не указывать ничего.

Добавлено: Сб июл 15, 2017 10:32
BeardFury78
Flasher
Опять появилась просьба. Это по поводу этого скрипта добавления описаний к именам групповых файлов. Есть такие файлы примерно такого вида:
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
Обнаружил, что если запустить скрипт, то они переименовываются вот так:
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
То есть, первое описание добавляется к именам других групп, за исключением файлов, которые уже имеют описания. Еще обнаружил, что это продолжается вплоть до того, как первая цифра в именах файлов сменяется на другую, а затем скрипт берет другое описание у первого файла с другой цифрой в начале названия и именует дальше файлы этим описанием, пока очередь не доходит до файла с третьей цифрой в начале навзания и так далее. Пример:
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
После запуска скрипта они переименуются так:
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
Решил самостоятельно внести в скрипт для этого случая вот этот регэксп:
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++ правильно помечает нужные файлы), но скрипт неправильно переименовывает файлы, пробовал удалить старый регэксп из скрипта, не помогло. Подскажите, пожалуйста, что нужно внести в скрипт, чтобы он правильно переименовал эти файлы? И желательно чтобы при этом он продолжал работать с файлами вроде таких:
msos7dmnzY1qdjjbao1_1280 some words.jpg
msos7dmnzY1qdjjbao2_1280.jpg
msos7dmnzY1qdjjbao4_1280.jpg
msos7dmnzY1qdjjbao5_1280.jpg
msos7dmnzY1qdjjbao6_1280.jpg
А если это невозможно, тогда достаточно просто подсказать нужную правку, чтобы я смог сделать второй вариант скрипта и повесить на тулбар. Спасибо!

Добавлено: Сб июл 15, 2017 19:24
Flasher
BeardFury78
Конечно, совместить невозможно, т.к. в исходном случае мы рассматривали совпадения до первого числа (счётчика), а сейчас это совпадение фактически и является числом. Чтобы это заработало для нового случая, нужно в 13-й строке убрать первый '\d+'.
Чтобы не плодить скрипты, достаточно в приведённых строках регулярки с кавычками заменить на WSH.Arguments(0) и WSH.Arguments(1) соответственно, задавая их уже в качестве 1-го и 2-го параметров.

Добавлено: Ср сен 20, 2017 09:18
Dimsok
Имеются файлы вида:
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] в полях поиска и замены не действует.

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

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

Добавлено спустя 11 минут:
В ИГП сначала Найти: (.*) (.*) и Заменить на: $1.png
Только так отсекаются крайние слова. Например "buildings of different styles" становится "buildings of different". Надо чтоб только цифры на конце. Чё-нить вроде \d$, но чтоб для любого количества цифр.

Добавлено спустя 3 минуты:
Выполнить с согласием на автопереименование, связанное с одинаковыми именами.
А это где? Это случаем не в 9 версии появилось?

Добавлено: Ср сен 20, 2017 10:36
Avada
Dimsok
Да, именно там и появилось.