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

Добавлено: Ср июн 12, 2013 13:09
Flasher
RuMaS, не надо оверквотить.

В корне есть залоченные папки типа System Volume Information, Recycler, Recovery?

Добавлено: Чт сен 12, 2013 12:20
HEXFIX
Всем привет.

Подскажите, как решить такую проблему. Есть много папок с музыкой вида:
  • 01-xxx (1991)
    02-yyy (1992)
    ...
    mn-zzz (2013)
Длина названий папок везде разная. Нужно привести к виду:
  • (1991) xxx
    (1992) yyy
    ...
    (2013) zzz

Добавлено: Чт сен 12, 2013 13:20
Batya
HEXFIX
ИГП с регулярными выражениями.
Найти: \d+-([^\(]*) +(\([^\)]*\))(.*)
Заменить на: $2 $1$3

Добавлено: Чт сен 12, 2013 16:13
HEXFIX
Batya
Спасибо.
В большинстве случаев работает, кроме тех названий папок, которых есть точка или тоже присутствуют скобки. Например 01-Weiss.Mix (2002), 03-Less But More (New School Remix) (2012)

Добавлено: Чт сен 12, 2013 16:37
Lev
а так?
Найти: \d+-(.*) +(\(\d{4}\))(.*)
Заменить на: $2 $1$3

Добавлено: Чт сен 12, 2013 16:38
sa
HEXFIX писал(а):кроме тех названий папок, которых есть точка
Если в ИГП в маске для расширения пусто, то можно попробовать в маске для имени вместо [N] поставить [A].
Если в ИГП в маске для расширения указано [E], то выставить галку “Заменять также в расширениях файлов” (значок [E] левее Рег. выраж).

И ещё до кучи один вариант.
Найти: \d+-(.+) (.+)
Заменить на: $2 $1

Добавлено: Чт сен 12, 2013 23:21
HEXFIX
Всем спасибо за помощь.
Сработал вариант sa:
Если в ИГП в маске для расширения указано [E], то выставить галку “Заменять также в расширениях файлов” (значок [E] левее Рег. выраж)

Добавлено: Ср окт 02, 2013 17:58
krokradio
Всем добрый день.

Имеется огромная коллекция аудиофайлов. Порядка 1,5 террабайта. Отсортирована по стилям. Все папки и подпапки приведены в одинаковый вид типа стиль/направление/исполнитель/год - название альбома. Теперь дело стало за "малым". Привести все имена файлов к одному виду типа номер трека(двузначный) - название композиции.

И тут возникает проблемка. Видов именовки файлов больше десятка:
01 иф
01. иф
01.иф
01 - иф
01-иф
1.иф
1 иф
(01) иф
исполнитель - 01 - иф
и т.д.

Как прописать строки поиска и замены, я даже представить себе не могу. Скорее всего нужно будет сидеть месяц и вручную каждую папку обрабатывать. Или может быть есть идеи.

Добавлено: Ср окт 02, 2013 18:43
Flasher
krokradio
Можно брать mp3-теги в качестве данных полей контентных плагинов, поддерживаемых ID2/3 (таких немало), и ими переименовывать.

Добавлено: Ср окт 02, 2013 21:05
krokradio
Flasher писал(а):krokradio
Можно брать mp3-теги в качестве данных полей контентных плагинов, поддерживаемых ID2/3 (таких немало), и ими переименовывать.
Тааак. Спасибо за пинок в нужном направлении :D . Пошел учить матчасть. :roll:

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

Flasher

Были б вы рядом, я б вас за этот пинок всего облобызал бы. :D
TagScanner нашел. Теперь сижу кайфую.

Добавлено: Пн окт 14, 2013 11:51
Моторокер
krokradio писал(а):И тут возникает проблемка. Видов именовки файлов больше десятка
Нажать Ctrl+B, чтобы показать все файлы. 10 раз вызвать диалог замены с RegExp.

Добавлено: Ср май 07, 2014 15:41
pirat_sk
Как с помошью ИГП и регулярных выражений поменять местами слова в имени файла

Было до:
Баратов А.Н. Пожарная опасность стройматериалов. (1988)
Сендеров Б.В. Аварии жилых зданий. (1991)

Должно быть после:

Пожарная опасность стройматериалов. Баратов А.Н. (1988)
Аварии жилых зданий. Сендеров Б.В. (1991)

Добавлено: Ср май 07, 2014 17:37
CaptainFlint
pirat_sk
Найти: (.*?) ([^.]+)\. (\(\d+\))
Заменить на: $2. $1 $3

Добавлено: Чт май 08, 2014 17:10
pirat_sk
CaptainFlint писал(а):pirat_sk
Найти: (.*?) ([^.]+)\. (\(\d+\))
Заменить на: $2. $1 $3

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

Из данного поста я понял, как вы, например, нашли цифры в скобках (\(\d+\)), но непонятно, как вы смогли отделить фамилию с инициалами от названия?

Добавлено: Чт май 08, 2014 17:35
CaptainFlint
pirat_sk
Весь мой пример основан исключительно на информации, имеющейся в справке. В данном случае для разделения я использовал тот факт, что в названии отсутствуют точки (кроме завершающей). Поэтому сначала захватывается последовательность произвольных символов настолько меньшей длины, насколько возможно (подвыражение «.*?»), но так, чтобы за ней следовали: пробел « », последовательность неточечных символов «[^.]+», точка, пробел, число в скобках. В данной ситуации построить соответствие файловых имён по подобным выражениям можно единственным способом, что и позволило дальше скомпоновать отобранные подвыражения в нужном порядке.

Можно было и без использования "нежадного" поиска. Например, так:
(.*\.) ([^.]+)\. (\(\d+\))
Здесь, соответственно, первым выражением ищется произвольная последовательность символов максимальной длины, оканчивающаяся на точку, а дальше всё то же самое. Итоговый результат тот же, отличия только во внутренних механизмах поиска соответствий в движке регулярных выражений.