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
Cr00t



Joined: 07 May 2010
Posts: 2

Post (Separately) Posted: Fri May 07, 2010 11:27    Post subject: Умное переименование Reply with quote

Здравствуйте, гуру TC!
Передо мной встала, буквально, непосильная задача

Есть куча папок с подпапками, вида:

c:\dir\dir\Cat1\Cat2
c:\dir\dir\Cat2\Cat2
c:\dir\dir\Cat3\Cat2
c:\dir\dir\Cat4\Cat2
c:\dir\dir\Cat5\Cat2
c:\dir\dir\Cat6\Cat2
c:\dir\dir\Cat7\Cat2
c:\dir\dir\Cat8\Cat2

А нужно переименовать в

c:\dir\dir\Cat1 - Cat2
c:\dir\dir\Cat2 - Cat2
c:\dir\dir\Cat3 - Cat2
c:\dir\dir\Cat4 - Cat2
c:\dir\dir\Cat5 - Cat2
c:\dir\dir\Cat6 - Cat2
c:\dir\dir\Cat7 - Cat2
c:\dir\dir\Cat8 - Cat2

Есть ли такие возможности? Не нашел пока программы.. А таких папок с сотни 2 - 3 уж точно(
Back to top
View user's profile Send private message
MVV



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

Post (Separately) Posted: Fri May 07, 2010 13:32    Post subject: Reply with quote

Прямой возможности переименования с изменением структуры папок нет, но можно извратиться и применить мультипереименователь не по назначению:

1. Alt+F7 в папке C:\dir\dir, ищешь папки для переименования (если имена одинаковые, это несложно - в твоем примере это будет просто имя "Cat."), файлы на панель.
2. Выделяешь, открываешь мультипереименователь (Ctrl+M).
3. Шаблон имени: move ^%[P]^$[N]^% ^%[P] - [N]^%
Шаблон расширения: [E]
Заменить что: ^$|^%
Заменить на: \|"
Regex: нет
4. Жмешь кнопочку справа от комбобокса выбора регистра имен с изображением какой-то папочки, там выбираешь редактирование имен. Сохраняешь открывшийся файл в папке C:\dir\dir с расширением BAT, закрываешь редактор и окно мультипереименователя (переименовывать ниче не надо!).
5. Запускаешь созданный BAT-файл.

Полученный BAT-файл будет содержать строки с командами вида:
Quote:
move "Cat1\Cat" "Cat1 - Cat"

Такая команда переименовывает/перемещает папку "Cat1\Cat" в "Cat1 - Cat" в текущей папке (поэтому важно, чтобы BAT-файл запускался именно из папки, где лежит папка "Cat1").


Кстати, раз папка назначения существует (папки перемещаются на уровень вверх), то можно использовать мультипереименователь и по назначению - это проще, и будет работать, так как папки создавать тут не надо:

1. Такой же.
2. Такой же.
3. Шаблон имени: [P] - [N]
Шаблон расширения: [E]
Заменить что: ^
Заменить на: ..\\
Regex: да
4. Начать!

Обработчик регулярных выражений допишет в начале каждого имени "..\", что означает, что папка должна быть перемещена на уровень вверх.


В любом случае, первый алгоритм - это намек на оригинальную идею, которая может помочь в более широком количестве случаев. Например, если папку назначения нужно еще и создавать, можно формировать следующую команду:
Quote:
md dest_folder && move source dest_folder\destination



Удалять пустые папки потом придется вручную.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
cluster



Joined: 26 May 2009
Posts: 80

Post (Separately) Posted: Fri May 07, 2010 17:10    Post subject: Reply with quote

MVV
По-моему, это надо поместить на http://www.tckb.ru, если там ещё такого нет. Очень полезное дополнение.
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2586
Location: Большая деревня Москва

Post (Separately) Posted: Fri May 07, 2010 22:32    Post subject: Reply with quote

Мой скрипт выполняет примерно то же, но с файлами. Его можно доработать, чтобы он годился и для директорий. И я непременно сделаю это, как только у меня самого возникнет такая нужна. Впрочем, сказанное нисколько не умаляет достоинства решения MVV, хотя бы в силу его независимости от внешних утилит.
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
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