View previous topic :: View next topic |
Author |
Message |
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Jun 12, 2013 13:09 Post subject: |
|
|
RuMaS, не надо оверквотить.
В корне есть залоченные папки типа System Volume Information, Recycler, Recovery? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
HEXFIX
Joined: 25 Jun 2010 Posts: 173 Location: Калининград
|
(Separately) Posted: Thu Sep 12, 2013 12:20 Post subject: |
|
|
Всем привет.
Подскажите, как решить такую проблему. Есть много папок с музыкой вида:
01-xxx (1991)
02-yyy (1992)
...
mn-zzz (2013)
Длина названий папок везде разная. Нужно привести к виду:
(1991) xxx
(1992) yyy
...
(2013) zzz
Last edited by HEXFIX on Thu Sep 12, 2013 16:01; edited 1 time in total |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Thu Sep 12, 2013 13:20 Post subject: |
|
|
HEXFIX
ИГП с регулярными выражениями.
Найти: \d+-([^\(]*) +(\([^\)]*\))(.*)
Заменить на: $2 $1$3 _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
HEXFIX
Joined: 25 Jun 2010 Posts: 173 Location: Калининград
|
(Separately) Posted: Thu Sep 12, 2013 16:13 Post subject: |
|
|
Batya
Спасибо.
В большинстве случаев работает, кроме тех названий папок, которых есть точка или тоже присутствуют скобки. Например 01-Weiss.Mix (2002), 03-Less But More (New School Remix) (2012) |
|
Back to top |
|
|
Lev
Joined: 02 Mar 2005 Posts: 392
|
(Separately) Posted: Thu Sep 12, 2013 16:37 Post subject: |
|
|
а так?
Найти: \d+-(.*) +(\(\d{4}\))(.*)
Заменить на: $2 $1$3 |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2571
|
(Separately) Posted: Thu Sep 12, 2013 16:38 Post subject: |
|
|
HEXFIX wrote: | кроме тех названий папок, которых есть точка | Если в ИГП в маске для расширения пусто, то можно попробовать в маске для имени вместо [N] поставить [A].
Если в ИГП в маске для расширения указано [E], то выставить галку “Заменять также в расширениях файлов” (значок [E] левее Рег. выраж).
И ещё до кучи один вариант.
Найти: \d+-(.+) (.+)
Заменить на: $2 $1 |
|
Back to top |
|
|
HEXFIX
Joined: 25 Jun 2010 Posts: 173 Location: Калининград
|
(Separately) Posted: Thu Sep 12, 2013 23:21 Post subject: |
|
|
Всем спасибо за помощь.
Сработал вариант sa:
Quote: | Если в ИГП в маске для расширения указано [E], то выставить галку “Заменять также в расширениях файлов” (значок [E] левее Рег. выраж) |
|
|
Back to top |
|
|
krokradio
Joined: 02 Oct 2013 Posts: 2
|
(Separately) Posted: Wed Oct 02, 2013 17:58 Post subject: |
|
|
Всем добрый день.
Имеется огромная коллекция аудиофайлов. Порядка 1,5 террабайта. Отсортирована по стилям. Все папки и подпапки приведены в одинаковый вид типа стиль/направление/исполнитель/год - название альбома. Теперь дело стало за "малым". Привести все имена файлов к одному виду типа номер трека(двузначный) - название композиции.
И тут возникает проблемка. Видов именовки файлов больше десятка:
01 иф
01. иф
01.иф
01 - иф
01-иф
1.иф
1 иф
(01) иф
исполнитель - 01 - иф
и т.д.
Как прописать строки поиска и замены, я даже представить себе не могу. Скорее всего нужно будет сидеть месяц и вручную каждую папку обрабатывать. Или может быть есть идеи. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Oct 02, 2013 18:43 Post subject: |
|
|
krokradio
Можно брать mp3-теги в качестве данных полей контентных плагинов, поддерживаемых ID2/3 (таких немало), и ими переименовывать. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
krokradio
Joined: 02 Oct 2013 Posts: 2
|
(Separately) Posted: Wed Oct 02, 2013 20:15 Post subject: |
|
|
Flasher wrote: | krokradio
Можно брать mp3-теги в качестве данных полей контентных плагинов, поддерживаемых ID2/3 (таких немало), и ими переименовывать. |
Тааак. Спасибо за пинок в нужном направлении . Пошел учить матчасть.
Добавлено спустя 51 минуту:
Flasher
Были б вы рядом, я б вас за этот пинок всего облобызал бы.
TagScanner нашел. Теперь сижу кайфую. |
|
Back to top |
|
|
Моторокер
Joined: 06 May 2005 Posts: 1517 Location: г. Пермь (читается Перьмь)
|
(Separately) Posted: Mon Oct 14, 2013 11:51 Post subject: |
|
|
krokradio wrote: | И тут возникает проблемка. Видов именовки файлов больше десятка |
Нажать Ctrl+B, чтобы показать все файлы. 10 раз вызвать диалог замены с RegExp. _________________ плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми |
|
Back to top |
|
|
pirat_sk
Joined: 05 May 2014 Posts: 2
|
(Separately) Posted: Wed May 07, 2014 15:41 Post subject: |
|
|
Как с помошью ИГП и регулярных выражений поменять местами слова в имени файла
Было до:
Баратов А.Н. Пожарная опасность стройматериалов. (1988)
Сендеров Б.В. Аварии жилых зданий. (1991)
Должно быть после:
Пожарная опасность стройматериалов. Баратов А.Н. (1988)
Аварии жилых зданий. Сендеров Б.В. (1991) |
|
Back to top |
|
|
CaptainFlint
Joined: 14 Dec 2004 Posts: 6151 Location: Москва
|
(Separately) Posted: Wed May 07, 2014 17:37 Post subject: |
|
|
pirat_sk
Найти: (.*?) ([^.]+)\. (\(\d+\))
Заменить на: $2. $1 $3 _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
|
pirat_sk
Joined: 05 May 2014 Posts: 2
|
(Separately) Posted: Thu May 08, 2014 17:10 Post subject: |
|
|
CaptainFlint wrote: | pirat_sk
Найти: (.*?) ([^.]+)\. (\(\d+\))
Заменить на: $2. $1 $3 |
Спасибо. Помогло. Скажите, а где кроме справки можно почитать подробней про ИГП с использованием регулярных выражений?
Из данного поста я понял, как вы, например, нашли цифры в скобках (\(\d+\)), но непонятно, как вы смогли отделить фамилию с инициалами от названия? |
|
Back to top |
|
|
CaptainFlint
Joined: 14 Dec 2004 Posts: 6151 Location: Москва
|
(Separately) Posted: Thu May 08, 2014 17:35 Post subject: |
|
|
pirat_sk
Весь мой пример основан исключительно на информации, имеющейся в справке. В данном случае для разделения я использовал тот факт, что в названии отсутствуют точки (кроме завершающей). Поэтому сначала захватывается последовательность произвольных символов настолько меньшей длины, насколько возможно (подвыражение «.*?»), но так, чтобы за ней следовали: пробел « », последовательность неточечных символов «[^.]+», точка, пробел, число в скобках. В данной ситуации построить соответствие файловых имён по подобным выражениям можно единственным способом, что и позволило дальше скомпоновать отобранные подвыражения в нужном порядке.
Можно было и без использования "нежадного" поиска. Например, так:
(.*\.) ([^.]+)\. (\(\d+\))
Здесь, соответственно, первым выражением ищется произвольная последовательность символов максимальной длины, оканчивающаяся на точку, а дальше всё то же самое. Итоговый результат тот же, отличия только во внутренних механизмах поиска соответствий в движке регулярных выражений. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
|
|