View previous topic :: View next topic |
Author |
Message |
Cr00t
Joined: 07 May 2010 Posts: 2
|
(Separately) Posted: Fri May 07, 2010 11:27 Post subject: Умное переименование |
|
|
Здравствуйте, гуру 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 |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
(Separately) Posted: Fri May 07, 2010 13:32 Post subject: |
|
|
Прямой возможности переименования с изменением структуры папок нет, но можно извратиться и применить мультипереименователь не по назначению:
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 |
|
 |
cluster
Joined: 26 May 2009 Posts: 80
|
(Separately) Posted: Fri May 07, 2010 17:10 Post subject: |
|
|
MVV
По-моему, это надо поместить на http://www.tckb.ru, если там ещё такого нет. Очень полезное дополнение. |
|
Back to top |
|
 |
Вахмурка

Joined: 27 Dec 2004 Posts: 2586 Location: Большая деревня Москва
|
(Separately) Posted: Fri May 07, 2010 22:32 Post subject: |
|
|
Мой скрипт выполняет примерно то же, но с файлами. Его можно доработать, чтобы он годился и для директорий. И я непременно сделаю это, как только у меня самого возникнет такая нужна. Впрочем, сказанное нисколько не умаляет достоинства решения MVV, хотя бы в силу его независимости от внешних утилит. _________________ Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон) |
|
Back to top |
|
 |
|
|
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
|