Групповое переименование

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

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

Найти:       $
Заменить на: .mp3
[v] Рег. выраж.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Однако. :) Совсем забыл, что есть подстановка в конец строки ($).
Denis-72007
Сообщения: 2
Зарегистрирован: Вс сен 23, 2012 11:21

Сообщение Denis-72007 »

Tol!k Спасибо !
Аватара пользователя
LonerD
Сообщения: 1174
Зарегистрирован: Вт янв 04, 2011 03:56
Откуда: Макеевка
Контактная информация:

Сообщение LonerD »

В Акелпаде можно и без рег.выражений.
Найти \n
Заменить mp3\n
Должен стоять крыжик [v] Esc последовательности.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

LonerD, по идее, так можно в любом текстовом редакторе, поддерживающем escape-последовательности. Но куда удобнее делать замену на лету прямо в переименователе тотала, не внося никаких изменений в исходный текстовый файл.

Кстати, я хотел было предложить вариант с заменой $ на .mp3 в текстовом редакторе, но делать это в тотале в разы правильнее, да и больше по теме. Потом я вспомнил, что можно сделать то же самое, заменив .* на $0.mp3... и нашел баг в тотале. :D
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

.*
с .+ баги нет

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

Автоматизация

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

@echo off &setlocal enableextensions
::	http://forum.wincmd.ru/viewpost.php?p=95807
::	Параметры: "%WL"

for /f %%l in ('dir /b/a-d "tracks.txt" "tracklist.txt"') do set "list=%%l"
if "%list%"=="" (echo Need tracklist. &pause &exit /b 1)

set /a #=-1
for /f "delims=" %%f in ('type "%~1"') do (set /a #+=1 &call :ren "%%f")
goto :eof

:ren
for /f "tokens=*" %%n in ('more +%#% %list%') do (ren %1 "%%n%~x1" &goto :eof)
goto :eof
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Tol!k
Была бы Автоматизация, я бы давно скрипт накидал, а тут речь про внутренний инструмент ТС.

Avada, предлагаю тогда уж сюда, раз помесь пошла.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Flasher
Да, согласен. Перенесено.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Barmaglot
Сообщения: 8
Зарегистрирован: Чт мар 15, 2012 18:51

Сообщение Barmaglot »

Существует ли возможность "экранировать" квадратные скобки при переименовании файлов ? при попытке их использования в имени при переименовании TC пишет "ошибка", в принципе вышел из ситуации поставив замену символов-заглушек на [] с разделителями || соответственно. но хотелось более простого решения (типа поставленных кавычек перед квадратной скобкой) или его нет ?))
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Barmaglot
Из справки:
[[]Вставляет открывающую квадратную скобку.
[]]Вставляет закрывающую квадратную скобку
Barmaglot
Сообщения: 8
Зарегистрирован: Чт мар 15, 2012 18:51

Сообщение Barmaglot »

sa

[s]хм, у мну в справке там || и ||, чтобы не быть голословным, вот[/s] скрин

но тем не менее, как оказалось, если скопировать из справки данные строки, в текстовом редакторе они отображаются корректно

спасибо за инфу

UPD: таки разглядел квадратную скобку экраннированную двумя другими квадратными скобками, просто из-за жирного шрифта в справке их видно как || и || если внимательно не приглядываться
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Barmaglot
Избыточное цитирование убрано, неформатная картинка убрана под ссылку. Кроме того, на форуме на этот вопрос уже отвечали. Читаем правила.
Даже самая богатая фантазия
Не представит себе наши безобразия.
kin369
Сообщения: 9
Зарегистрирован: Пн ноя 23, 2009 15:26

Групповое переименование

Сообщение kin369 »

___Доброго времени суток. Имеется группа нумерованных файлов, в названиях которых в произвольном месте присутствует набор слов(каждый раз другой), заключённый в круглые скобки. Задача - оставить в названиях только эти наборы(со скобками), сохранив нумерацию.
Пример:
123.Ulyses Shares (B. Wring, S. Stern, Kolenberg)F. Garcia.lnk => 123.(B. Wring, S. Stern, Kolenberg).lnk
Можно ли это сделать без написания скрипта? Другая задача - в том же исходнике поменять местами то, что до и после скобок(не трогая номер).
Версия ТК 7.50
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

kin369
Перед созданием новой темы, согласно правилам форума, следует посмотреть, нет ли уже на форуме тем про то же самое. Особенно — с тем же самым названием.
Перенесено по принадлежности.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

kin369
"Инструмент группового переименования"

[V] Рег. выраж.
Найти: ^(\d+)([^\(]*)\(([^\)]+)\)(.*)(\.[^\.]+)$

1. Заменить на: $1.($3)$5
2. Заменить на: $1.$4($3)$2$5
Нет, я не сплю. Я просто медленно моргаю.
Ответить