Страница 22 из 25

Добавлено: Вт янв 16, 2024 19:08
sa
vitaliy_13 писал(а):я способен определить многотомный архив от обычного файла
Вам проще – вы к ним ближе расположены. :)
vitaliy_13 писал(а):у меня добавился новый файл и мне нужно его "вставить" так, чтобы он соответствовал своему месту в списке: то есть в сортировке файлов по имени имел правильный порядок счётчика
Не уверен, что и теперь правильно понял задачу. Поправьте, если что.
На примере с именами двух файлов, что вы приводили. Допустим, добавились два новых файла, назовём их [WinCmd] - Abby Adams – 202 и [WinCmd] - Abby Adams - 203 , прибавив к требуемым номерам лишние две сотни.
Выделяем все 4 файла (при сортировке в панели по имени), вызываем переименование (Ctrl+M), вводим маску для имени файла [N1--4][C:3], перемещаем в списке файлов элементы вверх/вниз, ориентируясь на колонки Старое имя и Новое имя и выполняем переименование.

Добавлено: Пт янв 19, 2024 01:03
vitaliy_13
sa
Извиняюсь, наверное сумбурно объяснил задачу. В любом случае уже разобрался: мне помогла маска [N1--4].

Добавлено: Пт янв 19, 2024 08:55
sa
vitaliy_13 писал(а):мне помогла маска [N1--4]
Идея использовать маску [N1--4][C:3] заключается в том, чтобы за одну операцию переименования убрать старый счётчик ([N1--4]) и сразу же установить новый ([C:3]).

Добавлено: Вт янв 23, 2024 20:13
Lnk
Попробую задать архисложный вопрос, связанный с регекспами.
Возможно такое и не выйдет, но общая схема тут имеется, потому надежда есть.
Имеется pne.db_base_7777_xmi010021007835001.pdf
можно ли через регекспы сделать из него
pne.db_base_x_xmi010_007835_7777_xmi010021007835001.pdf
Постарался выделить цветом для наглядности, то есть добавляется
по сути _x_xmi010_007835_
где х это первая буква идентификатора(синего), то бишь елси будет tec008, к примеру, то она будет t . Остальное берется из xmi010021007835001.pdf
xmi010 идентификатор буквенно3-цифровой3,
007835 классификатор группы из 6 цифр.
Количество цифр и букв всегда одинаково.
021 может менятся, но и ни на что ни влияет, всегд 3 цифры. 001 это номер файла всего лишь, тоже не меняет ничего.

Неважно сколько будет проходок, если надо - пусть хоть сколько.
Если для выполнения задачи надо изменить на другой разделитель, а не _, то без проблем, пусть хоть -, хоть * или вобще что-то иное - не проблема.

Добавлено: Вт янв 23, 2024 21:28
sa
Lnk
А если без регекспов?
Маска для: имени файла
[N1-12][N18]_[N18-23]_[N27-32][N12-]

Или длина имён файлов может быть разной?

Добавлено: Вт янв 23, 2024 21:42
Lnk
sa,
тоже шикарно! Все работает.
Длина имен, нет, в конкретной базе не может быть разной.
Спасибо огромное!

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

/
А, таки возникает проблема, если меняется что-либо..(
напр pne.up.db_basea_8888_xio001013005421001.pdf превращается в такое
pne.up.db_ba8_888_xi_101300asea_8888_xio001013005421001
Не увидел, что есть всякие. Видимо под конкретную задачу надо химичить :(

Добавлено: Вт янв 23, 2024 22:12
sa
Lnk писал(а):Регекспы конечно были бы интересней
Если я не напутал:

Найти: (.{12})(.{5})(.{1})(.{5})(.{3})(.{6})
Заменить на: $1$3_$3$4_$6_$2$3$4$5$6
[V] Рег. выраж.

Добавлено: Вт янв 23, 2024 22:32
Lnk

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

Найти: (.{12})(.{5})(.{1})(.{5})(.{3})(.{6})
Заменить на: $1$3_$3$4_$6_$2$3$4$5$6
[V] Рег. выраж.
Работает шикарно!
НО получается что при изменении количества букв, ломается шаблон.
pne.up.db_basea_8888_xio001013005421001.pdf превращается
в pne.up.db_ba8_888_xi_101300asea_8888_xio001013005421001.pdf

Попытаюсь понять принцип работы и что надо менятЬ, СПАСИБО ОГРОМНОЕ!

//
Вобще очевидно я тупанул с задачей, зря усложнив ее, надо было брать за общую задачу
basea_7777_xmi010021007835001.pdf
(basea идентична base) и превращать в
baseа_x_xmi010_007835_7777_xmi010021007835001.pdf.
А потом уже прикручивать наименование общего родителя базы как вы подсказали в viewtopic.php?t=13491.
Тут слишком сложное для меня получается нагромождение) Но буду пробовать. :)

Добавлено: Вт янв 23, 2024 22:54
sa
Попробуйте указать (?-g)(.*_.*_) вместо (.{12}) .

Добавлено: Вт янв 23, 2024 23:03
Lnk
sa писал(а):Попробуйте ...
Гениально! Работает с обоими!
/
Протестировал примерно на многих тысячах файлов, есть всякие
pne.old.db, pne.main.db и куча других, а базы вообще похоже полный алфавит, но ничего не ломается!

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

Найти: (?-g)(.*_.*_)(.{5})(.{1})(.{5})(.{3})(.{6})
Заменить на: $1$3_$3$4_$6_$2$3$4$5$6
[V] Рег. выраж.

Работает идеально)

Мне понять схему пока не удалось, может и не пойму даже, но я могу использовать данный шаблон под многие задачи с подстановкой и переименованием.
sa,
СПАСИБО ОГРОМНОЕ!

Добавлено: Вт янв 23, 2024 23:40
sa
Lnk писал(а):Мне понять схему пока не удалось
(?-g)(.*_.*_) формирует первое подвыражение для поиска+замены: от начала имени файла до второго появления символа подчёркивания (включая его), а остальные подвыражения (со 2-го по 6-ое) состоят из указанного в фигурных скобках количества символов.
Скорее всего, есть и более лаконичные решения.

Добавлено: Ср янв 24, 2024 00:02
Lnk
sa,
хорошее понятное обьяснение. Для меня всегда особо важны были шаблоны, как пример на который я могу опиратся и редактировать, а этот шаблон шикарен! И вкупе с пояснением, он еще более ценен :D
Архисложная задача решена, вашему мастерству можно лишь позавидовать(в хорошем смысле слова).
СПАСИБО)

А более лаконичное решение наверное мне ни к чему). Кнопок можно сделать много, а сколько там будет символов -не важно)

Добавлено: Ср фев 21, 2024 22:42
crimea66
Категорически приветствую, уважаемые!

Вот такой вопрос.
Я записываю с плеера потоковое аудио (по принципу магнитофона), чтобы потом можно было слушать во внешнем мп3-плеере. Файлы пишутся так же, как они транслируются сервером, например "Abba - Money, Money.mp3". На компьютере можно отсортировать как угодно, а мп3-плеер этого не умеет и сортирует только по имени. Само собой, файлы имеют и временнУю метку. И мне нужно сначала отсортировать файлы по времени их создания, а затем переименовать, т.е. чтобы внешний мп3-плеер воспроизводил их именно в том порядке, в каком они транслировались, а не по имени файла. Для этого приходится вручную править имена файлов, предварительно отсортировав их по времени по возрастанию. Когда десяток файлов - легко, но когда этих файлов штук 300 - немножко утомительно, мягко говоря...

Приведу маленький пример того, что мне нужно, а то мало ли, вдруг не очень толково пояснил :)

Вот сортировка по имени файла (справа дату не пишу, только время):

Art Ruprect - Glorious Day.mp3 18:22
Art Sherrod Jr - Feels So Good.mp3 18:48
Boz Scaggs - Lowdown.mp3 17:55
David Garfield - Stay.mp3 18:38
James Ingram - Yah Mo Be There.mp3 18:31


Вот сортировка по времени [по возрастанию](как нужно мне):

Boz Scaggs - Lowdown.mp3 17:55
Art Ruprect - Glorious Day.mp3 18:22
James Ingram - Yah Mo Be There.mp3 18:31
David Garfield - Stay.mp3 18:38
Art Sherrod Jr - Feels So Good.mp3 18:48

Вот в таком порядке мне нужны файлы для внешнего мп3-плеера.
Вопрос: как переименовать имена файлов по типу 001.mp3, 002.mp3, 003.mp3 и т.д.? (мне не нужны названия самих песен)
Во вкладке "Групповое переименование", мягко говоря, не очень просто понять, что там и как!
Заранее спасибо! Пардон за много букв! :)

Добавлено: Чт фев 22, 2024 00:17
Monarch-LFV
crimea66
Задача наилегчайшая. После сортировки по дате выделяете все файлы и вызываете ИГП. В маске имени указываете [C:3].
Если нужно сохранить имя, то так: [C:3] [N].

Добавлено: Чт фев 22, 2024 00:21
crimea66
Monarch-LFV, ох ты ж! :shock: Благодарность с поклоном! :)