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 

Single Post  Topic: Умное переименование 
Author Message
MVV



PostPosted: 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…
View user's profile Send private message ICQ Number


Powered by phpBB © 2001, 2005 phpBB Group