View previous topic :: View next topic |
Author |
Message |
Ник
Joined: 15 Dec 2004 Posts: 1256 Location: Москва
|
(Separately) Posted: Sat Sep 13, 2008 07:22 Post subject: Замена всех точек в имени файла |
|
|
Всем привет
Пытаюсь написать выражения для инструмента группового переименования для того, чтобы все точки в имени файла заменить (допустим, на пробелы), но не потерять расширение файлов.
Понял, как найти последнюю точку в имени-расширении:
\.(.){3}$
или
\.(.){4}$
Но как найти непоследние точки?
Спасибо
! | Avada: | Перенесено в "Общие вопросы" из "Секретов и советов". | _________________ Xubuntu |
|
Back to top |
|
 |
CaptainFlint

Joined: 14 Dec 2004 Posts: 6192 Location: Москва
|
(Separately) Posted: Sat Sep 13, 2008 12:25 Post subject: |
|
|
Поймает первую точку в имени a.b.c.
Ник wrote: | Но как найти непоследние точки? |
\.([^.]*\.[^.]*)
Заменять, соответственно, на x$1, где "x" — то, на что нужно заменить точку. Но придётся делать несколько проходов.
Однопроходный вариант, наверное, можно сделать, но только с более гибкими регэкспами (уровня Перла), в Тотале больно уж бедно с этим делом…  _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
 |
Volniy

Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
(Separately) Posted: Sat Sep 13, 2008 12:35 Post subject: |
|
|
А совсем необязательно мудрить с регулярными выражениями. Вспомни что в инструменте группового переименовния есть возможность производить сразу несколько замен за одну операцию. Это дает кучу возможностей. Например вариант для твоего случая:
Code: | Маска имени:[N]
расширения: [E] (в начале один пробел)
Найти: |.| (в начале один пробел, в конце - два)
Заменить: .| |. (в середине один пробел)
Регулярные выражения: отключены |
Как видишь, тут последовательно производятся три замены. Попробуй, проверь и доработай  |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Sat Sep 13, 2008 13:56 Post subject: |
|
|
Проверил , обломается на 2х и более точках подряд
Доработал Code: | расширения:=dot=[E]
Найти:.|_=dot=
Заменить:_|. | _ это пробел
P.S. две замены, кто меньше?  |
|
Back to top |
|
 |
Ник
Joined: 15 Dec 2004 Posts: 1256 Location: Москва
|
(Separately) Posted: Sat Sep 13, 2008 16:05 Post subject: |
|
|
За два раза я легко могу, а вот за один?
Попробую использовать Renamer... _________________ Xubuntu |
|
Back to top |
|
 |
Volniy

Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
(Separately) Posted: Sat Sep 13, 2008 17:08 Post subject: |
|
|
Ты походу не въехал. Это делается за один раз. Это сам Тотал делает несколько замен сразу за счет специального синтаксиса в полях поиска и замены (использование символа |). Да, блин, прочитай ты наконец справку по этому поводу  |
|
Back to top |
|
 |
Ник
Joined: 15 Dec 2004 Posts: 1256 Location: Москва
|
(Separately) Posted: Sat Sep 13, 2008 19:05 Post subject: |
|
|
А, понял...  _________________ Xubuntu |
|
Back to top |
|
 |
_Johm
Joined: 14 May 2006 Posts: 119
|
(Separately) Posted: Mon Feb 08, 2010 10:46 Post subject: |
|
|
Я добавил использование плагина для того, чтобы за одно
переименование можно было обработать как файлы так и папки:
Extension "[=tc.directory]=dot=[E]"
Search for: ".|_Yes=dot=|_No=dot="
Replace with: "_|_|."
без кавычек
подчеркивание=пробел |
|
Back to top |
|
 |
Andrey_A

Joined: 10 Apr 2009 Posts: 394 Location: Сочи
|
(Separately) Posted: Tue Feb 09, 2010 01:57 Post subject: |
|
|
у меня вроде за один проход
Code: | [rename]
Замена_точек_на_пробел_name=[=tc.Имя]=dot
Замена_точек_на_пробел_ext=[E]
Замена_точек_на_пробел_search=".|=dot "
Замена_точек_на_пробел_replace=" |."
Замена_точек_на_пробел_params=0|1|1|1 |
|
|
Back to top |
|
 |
_Johm
Joined: 14 May 2006 Posts: 119
|
(Separately) Posted: Tue Feb 09, 2010 17:09 Post subject: |
|
|
Andrey_A
Quote: | Замена_точек_на_пробел_params=0|1|1|1 |
Это куда? |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10415 Location: Россия, Саратов
|
(Separately) Posted: Tue Feb 09, 2010 17:58 Post subject: |
|
|
_Johm
Это кусок из секции [rename] файла wincmd.ini. Сохранённый шаблон. То же самое в виде записи в самом диалоге группового переименования:
Маска для имени: [=tc.Имя]=dot
Найти: .|=dot
Заменить на: |.
Имя шаблона: Замена_точек_на_пробел _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
_Johm
Joined: 14 May 2006 Posts: 119
|
(Separately) Posted: Tue Feb 09, 2010 20:42 Post subject: |
|
|
Спасибо, я в этой секции ini-файла ни разу "не был", незачем было.
Но так, действительно, удобнее делиться шаблонами. |
|
Back to top |
|
 |
|