![]() |
Массовое переименование, отнимая слова от текущего имени
Доброго всем!
Пожалуйста, подскажите, как сделать переименование файлов по шаблону: Есть папки с файлами, и в них файлы. dirName1
То есть отнять какое-то количество заранее известных слов, разделенных дефисом. Проблема в том, что просто по дефису делать нельзя — и в слове, и в имени папки, и в нужном имени тоже могут быть дефисы, надо как-то именно отнимать два слова... Это был результат выполнения скрипта (перемещал, а не переименовывал потому, что в некоторых папках по ren происходило зацикливание и рост длинны имени файлов до бесконечности), а теперь надо переименовать обратно: Код:
for /d %%d in ("*") do ( |
ArchyA, упростим задачу:
Т.е. вам надо отрезать последовательность от начала имени и по второй дефис включительно, типа убрать slovo-dirName1- чтобы не заморачиваться тем, что dirname все разные? Или в именах каталогов тоже могут быть дефисы? |
Дефисы могут быть внутри и слова, и папки, и имени... поэтому и пишу )
Например, slo-vo-dir-super-name-nujnoe-imya-faila.jpg, при этом slo-vo и dir-super-name будут известны. И кол-во дефисов везде произвольное :(:(:( |
Точнее так, в слове дефисов нет нигде и оно везде одинаковое.
А в каждой папке и в каждом имени могут быть или не быть 1-3 дефиса. И внутри каждой папки слово и второе слово, имя папки, всегда фиксированное для всех файлов в этой папке |
ArchyA, это хуже.
Тогда вопрос: файлы сейчас разложены по папкам тем же, что и dirName, входящее в состав имён и которое надо отрезать? Если нет — ещё хуже. Особенно если файл в папке один. PS Чисто на будущее: применяйте в таких случаях сочетания, которые могут встретиться в именах лишь с очень малой вероятностью. Например, #####slovo-dirName1-###### и даже slovo-dirName1-######- вместо slovo-dirName1- вообще никаких затруднений не вызвало бы. |
Файлов в папке НИКОГДА не будет меньше трёх.
Да, ВСЕ файлы начинаются со слова+имя_текущей_папки. вот живой пример: E:\screens\elk\birthday .. symbol-birthday-birthday.jpg symbol-birthday-blue.jpg symbol-birthday-green.jpg symbol-birthday-martini.jpg symbol-birthday-red.jpg symbol-birthday-rose.jpg |
Цитата:
Теперь ясно всё — но я уж колхозить не буду: тут спецы должны предложить гораздо более изящное решение, чем наваял бы я. :sorry: Ну а вариант — вычислять в каждой папке количество символов в последовательности slovo-имя_папки- и переименовывать все файлы этой папки, используя их текущее имя начиная с символа, следующего за вычисленным значением. И затем переходить к следующей папке |
Наколхозю
Код:
@Echo Off Мои файлы (если я правильно понял задачу)
До переименования Z:\Жил-был у бабушки\В начале было слово-Жил-был у бабушки-серенький волк.jpg Z:\Жил-был у бабушки\В начале было слово-Жил-был у бабушки-страшный козел.jpg Z:\Жил-был у бабушки\В начале было слово-Жил-был у бабушки-три-весёлых-гуся.jpg Z:\Жил-был у бабушки\Бабушка козлика\В начале было слово-Бабушка козлика-серенький волк.jpg Z:\Жил-был у бабушки\Бабушка козлика\В начале было слово-Бабушка козлика-страшный козел.jpg Z:\Жил-был у бабушки\Бабушка козлика\В начале было слово-Бабушка козлика-три-весёлых-гуся.jpg Z:\Жил-был у бабушки\Бабушка козлика\Очень любила\В начале было слово-Очень любила-серенький волк.jpg Z:\Жил-был у бабушки\Бабушка козлика\Очень любила\В начале было слово-Очень любила-страшный козел.jpg Z:\Жил-был у бабушки\Бабушка козлика\Очень любила\В начале было слово-Очень любила-три-весёлых-гуся.jpg Z:\Жил-был у бабушки\Серенький козлик\В начале было слово-Серенький козлик-серенький волк.jpg Z:\Жил-был у бабушки\Серенький козлик\В начале было слово-Серенький козлик-страшный козел.jpg Z:\Жил-был у бабушки\Серенький козлик\В начале было слово-Серенький козлик-три-весёлых-гуся.jpg После переименования Z:\Жил-был у бабушки\серенький волк.jpg Z:\Жил-был у бабушки\страшный козел.jpg Z:\Жил-был у бабушки\три-весёлых-гуся.jpg Z:\Жил-был у бабушки\Бабушка козлика\серенький волк.jpg Z:\Жил-был у бабушки\Бабушка козлика\страшный козел.jpg Z:\Жил-был у бабушки\Бабушка козлика\три-весёлых-гуся.jpg Z:\Жил-был у бабушки\Бабушка козлика\Очень любила\серенький волк.jpg Z:\Жил-был у бабушки\Бабушка козлика\Очень любила\страшный козел.jpg Z:\Жил-был у бабушки\Бабушка козлика\Очень любила\три-весёлых-гуся.jpg Z:\Жил-был у бабушки\Серенький козлик\серенький волк.jpg Z:\Жил-был у бабушки\Серенький козлик\страшный козел.jpg Z:\Жил-был у бабушки\Серенький козлик\три-весёлых-гуся.jpg |
Это оно :) Идеально, спасибо! В понедельник оттестирую и отпишусь.
Работает великолепно, именно то, что нужно, спасибо огромное! ) |
Время: 13:06. |
Время: 13:06.
© OSzone.net 2001-