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 

Замена всех точек в имени файла

 
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы printer-friendly view
View previous topic :: View next topic  
Author Message
Ник



Joined: 15 Dec 2004
Posts: 1256
Location: Москва

Post (Separately) Posted: Sat Sep 13, 2008 07:22    Post subject: Замена всех точек в имени файла Reply with quote

Всем привет Smile

Пытаюсь написать выражения для инструмента группового переименования для того, чтобы все точки в имени файла заменить (допустим, на пробелы), но не потерять расширение файлов.

Понял, как найти последнюю точку в имени-расширении:
\.(.){3}$
или
\.(.){4}$

Но как найти непоследние точки?

Спасибо Smile

 !  Avada:
Перенесено в "Общие вопросы" из "Секретов и советов".

_________________
Xubuntu
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6192
Location: Москва

Post (Separately) Posted: Sat Sep 13, 2008 12:25    Post subject: Reply with quote

Ник wrote:
\.(.){4}$

Поймает первую точку в имени a.b.c.

Ник wrote:
Но как найти непоследние точки?

\.([^.]*\.[^.]*)
Заменять, соответственно, на x$1, где "x" — то, на что нужно заменить точку. Но придётся делать несколько проходов.

Однопроходный вариант, наверное, можно сделать, но только с более гибкими регэкспами (уровня Перла), в Тотале больно уж бедно с этим делом… Sad
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
Volniy



Joined: 15 Dec 2004
Posts: 585
Location: Местный

Post (Separately) Posted: Sat Sep 13, 2008 12:35    Post subject: Reply with quote

А совсем необязательно мудрить с регулярными выражениями. Вспомни что в инструменте группового переименовния есть возможность производить сразу несколько замен за одну операцию. Это дает кучу возможностей. Например вариант для твоего случая:
Code:
Маска имени:[N]
расширения: [E]  (в начале один пробел)
Найти: |.|  (в начале один пробел, в конце  - два)
Заменить: .| |. (в середине один пробел)
Регулярные выражения: отключены

Как видишь, тут последовательно производятся три замены. Попробуй, проверь и доработай Wink
Back to top
View user's profile Send private message
Tol!k



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

Post (Separately) Posted: Sat Sep 13, 2008 13:56    Post subject: Reply with quote

Проверил Wink , обломается на 2х и более точках подряд
Доработал
Code:
расширения:=dot=[E]
Найти:.|_=dot=
Заменить:_|.
_ это пробел

P.S. две замены, кто меньше? Smile
Back to top
View user's profile Send private message
Ник



Joined: 15 Dec 2004
Posts: 1256
Location: Москва

Post (Separately) Posted: Sat Sep 13, 2008 16:05    Post subject: Reply with quote

За два раза я легко могу, а вот за один?

Попробую использовать Renamer...
_________________
Xubuntu
Back to top
View user's profile Send private message
Volniy



Joined: 15 Dec 2004
Posts: 585
Location: Местный

Post (Separately) Posted: Sat Sep 13, 2008 17:08    Post subject: Reply with quote

Ты походу не въехал. Это делается за один раз. Это сам Тотал делает несколько замен сразу за счет специального синтаксиса в полях поиска и замены (использование символа |). Да, блин, прочитай ты наконец справку по этому поводу Evil or Very Mad
Back to top
View user's profile Send private message
Ник



Joined: 15 Dec 2004
Posts: 1256
Location: Москва

Post (Separately) Posted: Sat Sep 13, 2008 19:05    Post subject: Reply with quote

А, понял... Smile
_________________
Xubuntu
Back to top
View user's profile Send private message
_Johm



Joined: 14 May 2006
Posts: 119

Post (Separately) Posted: Mon Feb 08, 2010 10:46    Post subject: Reply with quote

Я добавил использование плагина для того, чтобы за одно
переименование можно было обработать как файлы так и папки:
Extension "[=tc.directory]=dot=[E]"
Search for: ".|_Yes=dot=|_No=dot="
Replace with: "_|_|."

без кавычек
подчеркивание=пробел
Back to top
View user's profile Send private message
Andrey_A



Joined: 10 Apr 2009
Posts: 394
Location: Сочи

Post (Separately) Posted: Tue Feb 09, 2010 01:57    Post subject: Reply with quote

у меня вроде за один проход
Code:
[rename]
Замена_точек_на_пробел_name=[=tc.Имя]=dot
Замена_точек_на_пробел_ext=[E]
Замена_точек_на_пробел_search=".|=dot "
Замена_точек_на_пробел_replace=" |."
Замена_точек_на_пробел_params=0|1|1|1
Back to top
View user's profile Send private message
_Johm



Joined: 14 May 2006
Posts: 119

Post (Separately) Posted: Tue Feb 09, 2010 17:09    Post subject: Reply with quote

Andrey_A
Quote:
Замена_точек_на_пробел_params=0|1|1|1

Это куда?
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4815
Location: Ростов-Дон

Post (Separately) Posted: Tue Feb 09, 2010 17:56    Post subject: Reply with quote

_Johm, Андрей привел тебе шаблон переименования целиком. Просто возьми и вставь все строчки из его цитаты в секцию [rename] файла wincmd.ini.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Avada



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

Post (Separately) Posted: Tue Feb 09, 2010 17:58    Post subject: Reply with quote

_Johm
Это кусок из секции [rename] файла wincmd.ini. Сохранённый шаблон. То же самое в виде записи в самом диалоге группового переименования:
Маска для имени: [=tc.Имя]=dot
Найти: .|=dot
Заменить на: |.
Имя шаблона: Замена_точек_на_пробел
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
_Johm



Joined: 14 May 2006
Posts: 119

Post (Separately) Posted: Tue Feb 09, 2010 20:42    Post subject: Reply with quote

Спасибо, я в этой секции ini-файла ни разу "не был", незачем было.
Но так, действительно, удобнее делиться шаблонами.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы All times are GMT + 4 Hours
Page 1 of 1

 
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