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 ... 8, 9, 10 ... 49, 50, 51  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: Sat Mar 26, 2011 01:42    Post subject: Reply with quote

Добавлю свою мысль: лучше бы начать с обычных выражений (жмём F1 в диалоге "Групповое переименование"), которые к данному случаю тоже вполне подходят.
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Sat Mar 26, 2011 01:51    Post subject: Reply with quote

gatalsky2010 wrote:
где можно почитать подробнее

В справке, на форуме и в других интернетах
Back to top
View user's profile Send private message
gatalsky2010



Joined: 12 Dec 2010
Posts: 40

Post (Separately) Posted: Sat Mar 26, 2011 15:36    Post subject: Reply with quote

Про оверквотинг подумал но решил что места это не так критично. На дальнейшее буду иметь ввиду. Кто скажет как можно эти две комманды повесить на две раные кнопки (как создавать кнопку MULTIRENAME на панели инструментов уже разобрался, но как туда параметры нужные задать :dunno:)?[/quote]
Back to top
View user's profile Send private message
Avada



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

Post (Separately) Posted: Sat Mar 26, 2011 18:21    Post subject: Reply with quote

gatalsky2010
Каждый шаблон, выставив все параметры переименования, сохранить отдельно (через выпадающий список в правой части окна группового переименования). Дальше в качестве команды для каждой кнопки указать MULTIRENAME имя_шаблона.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
svshilo



Joined: 01 Oct 2010
Posts: 12

Post (Separately) Posted: Sun Jul 03, 2011 09:30    Post subject: Reply with quote

есть список видео файлов
вот фрагмент

Duck_TalesDVDRip_1990_DUB-s01e016.avikciorlashj.avi
DuckTales-DVDRip_1990_DUB-s01e015.avixcgwf.avi
DuckTales-DVDRip_1990_DUB-s01e018.aviksdjfwjfklj.avi
DuckTales-DVDRip_1990_DUB-s01e019.avi
DVDRip_-s01e017.avixljwpoj.avi


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

Я написал так
Найти: e0([0-9]+).{0,}(\.[a-zA-Z]{3,}$)
Заменить на: $1$2

  • Правильно ли я написал регулярное выражение?
  • Может быть можно его упростить или более изящно написать?
  • Можно ли как-то без использования регулярок сохранить в таких случаях тип файла, чтобы он не затирался, потомучто в каталоге файлы с разными типа, и если туп в поле ...РАСШИРЕНИЯ написать AVI, то затрутся реальные типы у некоторых файлов?
Back to top
View user's profile Send private message
Avada



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

Post (Separately) Posted: Sun Jul 03, 2011 10:06    Post subject: Reply with quote

svshilo wrote:
Правильно ли я написал регулярное выражение?

ИМХО, нет. Но вообще-то автору должно быть виднее — достигается поставленная задача с любым произвольным файлом или нет. Столбец "Новое имя" в ИГП для того и существует.
А я не понял самое главное: что же необходимо получить в результате. Там получаются уж явно не "только номера серий без ведущего нуля". Пару примеров ожидаемого результата для уже приведённых исходных имён попрошу.

svshilo wrote:
Может быть можно его упростить или более изящно написать?

Во-первых, напрашивается встречный вопрос: вам шашечки или ехать?
Во-вторых, невозможно полностью оценить правильность регулярки и — тем более — говорить про упрощение/изящество, не понимая ожидаемого результата (см. выше).

О третьем вопросе — после прояснения первых двух.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
svshilo



Joined: 01 Oct 2010
Posts: 12

Post (Separately) Posted: Sun Jul 03, 2011 12:43    Post subject: Reply with quote

Avada wrote:

Регулярка в этом конкретном случае работает, пока результат выдаёт правильно, просто я новичок, хотел узнать правильно ли написал.

и т.д., т.е. остаются только номера серий и всё, ну или можно одинаковое начало имени сделать, чтобы не в разнобой были серии. А то открываешь каталог, а там, например, после 16 25 серия, а потом 11.

я так понимаю, что когда поиск/замену используешь, то поле "...расширения" не работает и расширения можно сохранить только используя регулярное выражение типа (\.[a-zA-Z]{3,}$), хотя может я неправильно написал, но в это конкретном случае оно верно подставляет тип файла.
s58.radikal точка ru/i160/1107/61/6878f923b2ca.png
Может вот так надо e0([0-9]{2}).{0,}(\.[a-zA-Z]{3,}$)
регулярка находит фрагмент в имени файла e0 (т.к. он присутствует во всех файлах) потом запоминает две цифры в переменную №1, потом идёт любое количество любых символов и запоминается расширение файла из трёх и более символов в переменную №2, потому как попадаются расширения типа mpeg, divx

после переименования с таким выражением на выходе получаются файлы:
Duck_TalesDVDRip_1990_DUB-s01e016.avikciorlashj.avi => 16.avi
DuckTales-DVDRip_1990_DUB-s01e015.avixcgwf.avi => 15.avi
DVDRip_-s01e017.avixljwpoj.avi.mpeg => 17.mpeg


P.S. можете посоветовать какую-нибудь стояющую книженцию по регуляркам или ресурс в Интернете?
Back to top
View user's profile Send private message
Avada



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

Post (Separately) Posted: Sun Jul 03, 2011 14:26    Post subject: Reply with quote

svshilo
То, что включена опция "Подстановка", видно исключительно на картинке. В постах про это — ни единого слова. Да, если она включена, всё вроде как работает указанным образом, но годится это только для буквенных расширений и двух результирующих цифр.
А если в расширении не сплошные буквы, а хоть одна цифра, что тогда? Ответ предлагаю поискать самостоятельно.
И можно узнать, зачем в конце поисковой строки понадобился символ доллара?
А по регуляркам конкретно для TC (специфику учитывать необходимо!), ИМХО, достаточно раздела в справке. Ссылка на источник там внутри есть. В своей книге по TC мы этот материал излагали, надеемся, несколько попродробнее и попонятнее, можно и туда заглянуть, если попадётся.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
svshilo



Joined: 01 Oct 2010
Posts: 12

Post (Separately) Posted: Sun Jul 03, 2011 17:01    Post subject: Reply with quote

Avada
Quote:
А если в расширении не сплошные буквы, а хоть одна цифра, что тогда?

На ум с цифрами в типе видео файлов приходит только "mp4". У меня нет файлов такого типа в каталогах, требующих переименования файлов. В основном AVI, mpg, mpeg, divx.

Хотя думаю, что для переименования имён файлов с цифрами в расширении будет достаточно в группу символов добавить диапазон цифр от 0-9 и всё.
Например: (\.[a-zA-Z0-9]{3,}$)

Quote:
И можно узнать, зачем в конце поисковой строки понадобился символ доллара?

$ - это символ конца строки. Как в моей ситуации обойтись без него я не знаю.
у меня попадаются файлы с именами, части которых разделены не пробелом или нижним подчёркиванием или подобными символами, а разделены точкой, т.е.: priklyoucheniya.avianosca.mpg
Если убрать символ конца строки, то регулярка, ясно дело, найдёт первое вхождение искомого выражения и это будет ".avi", а ни как не ".mpg".
Получается что выражение (\.[a-zA-Z0-9]{3,}$) ищет именно последнюю с конца группу символов после точки, включая саму точку, тогда точно будет найдено именно расширение файла, а не часть имени.
Хотя я выражения только начинаю изучать, поэтому могу понимать не правильно. Но на моих списках файлов это выражение работает.

Спасибо за ссылки!
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Sun Jul 03, 2011 17:27    Post subject: Reply with quote

svshilo wrote:
На ум с цифрами в типе видео файлов приходит только "mp4".
032, 263, 264, 3gz, 3gp, 3gp2, 3gpp, 3gpp2, 3mm, 3p2, 44, 4xm, 603, 60d, 800, am2, am4, am5, am6, am7, c2r, d2v, d3v, dc8, demo4, es3, ev2, f4v, g64, h-263, h263, h263+, h264, h3r, h4v, k3g, l32, m15, m1pg, m1s, m1v, m21, m2p, m2s, m2t, m2ts, m2v, m3a, m4e, m4f, m4u, m4v, m65, mj2, mjp2, mk3d, mkv3d, mp0, mp21, mp2v, mp4, mp4v, mpeg1, mpeg2, mpeg4, mpg2, mpg4, mpv2, mt2s, mv4, mv85, mv93, mv95, p64, sdr2, st4, tdt2, ts4, vc1, vp3, vp6, vp7, w32, w3d, wm3, wp3.
Back to top
View user's profile Send private message
svshilo



Joined: 01 Oct 2010
Posts: 12

Post (Separately) Posted: Sun Jul 03, 2011 18:20    Post subject: Reply with quote

Flasher"
у меня таких форматов нет.
(\.[a-zA-Z0-9]{3,}$) должно сработать на все эти типы. По крайней мере шесть разных типов попробовал - срабатывает на ура.

 !  Avada:
Пост отредактирован. ненужное цитирование убрано.
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Sun Jul 03, 2011 18:26    Post subject: Reply with quote

Я про ум и цифры, а не то, что есть или нет.
Изучаем правила.
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2229
Location: Москва, Россия

Post (Separately) Posted: Mon Jul 04, 2011 10:22    Post subject: Reply with quote

svshilo wrote:
(\.[a-zA-Z0-9]{3,}$) должно сработать на все эти типы.

Расширение может быть менее 3 символов. Наверное, более правильно
Code:
(\.[^\.]+)$

_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Lev



Joined: 02 Mar 2005
Posts: 392

Post (Separately) Posted: Mon Jul 04, 2011 16:25    Post subject: Reply with quote

Моя вариация:
s\d+e0*(\d+).*\.(.*?)$
$1.$2
[v] RegEx [v] Subst
Back to top
View user's profile Send private message
svshilo



Joined: 01 Oct 2010
Posts: 12

Post (Separately) Posted: Tue Jul 05, 2011 02:34    Post subject: Reply with quote

Batya wrote:
Code:
(\.[^\.]+)$

Спасибо, вот то что нужно, коротко, изящно и функционально.
Сохраню этот кусочек на будущее для расширений.
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 ... 8, 9, 10 ... 49, 50, 51  Next
Page 9 of 51

 
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