Как переименовать несколько изображений с одинаковыми именами файлов в другой папке?

540
Shriram

У меня есть две папки со следующими изображениями

  1. Оригинальные изображения
    • Клиент-Engagement-Small
    • инженер
    • аптечка первой помощи
  2. Оптимизированные изображения
    • Клиент-Engagement-Small_70e76dfedeadb41a97636ca7006a5953
    • engineer_6bab3639c8cde4ef2c7ab4b8eafb888b
    • аптечка-kit_bd2d3ee1bb7a5632c66c4f269409e9ab

Это образец. Но у меня есть тысячи файлов в этой папке

Мой текущий рабочий процесс:

  1. Нажмите на изображение
  2. Нажмите F2
  3. Скопируйте имя файла и вставьте в другие файлы

Это занимает так много времени. Есть ли более короткий путь?
Как переименовать эти изображения папок в первые.

Примечание: все файлы в одном порядке

0
Добро пожаловать в Superuser. Судя по всему, все ваши файлы имеют суффикс длиной 32 символа. Вместе с подчеркиванием это 33. Разве программа или скрипт, который просто удаляет последние 33 символа, не отвечают вашим потребностям? Или есть другие изменения имени, которые не вписываются в этот образец? nixda 5 лет назад 0

3 ответа на вопрос

1
Sandeep

Я делаю это с помощью этих шагов:

  1. Создать список исходных файлов с помощью команды Dir /on /b > source.txt
  2. Создать список имен целевых файлов с помощью команды Dir /on /b > Target.txt
  3. Open MS Excel
  4. Откройте Source.txtи скопируйте все имена в столбце Bлиста MS Excel.
  5. Откройте Target.txtи скопируйте все имена в столбце Cлиста MS Excel.
  6. Заполните столбец Aс DOSкомандой REN.
  7. Скопируйте значения всех трех столбцов, вставьте Notepadи сохраните файл с расширением .bat.
  8. Выполните этот пакетный файл в исходной папке.

enter image description here

Чтобы сделать это успешно, номер файла и порядок файлов должны совпадать.

Использование Excel для симуляции "Редактирования прямоугольника" ... интересное решение! Единственная проблема в том, что это не рекурсивно. T Nierath 5 лет назад 0
@TNierath Спасибо за указание на это. Тем не менее, мы можем заставить его работать и для подпапок. Для этого потребуются дополнительные шаги `find and replace` и, возможно,` macro` в `Notepad ++`. Чтобы получить путь ко всем подпапкам, можно использовать команду `Dir / s / on / b`. Sandeep 5 лет назад 0
1
User552853

Вы можете использовать этот код для переименования ваших оптимизированных изображений, удалив все, что находится после подчеркивания «_» (если ваши файлы не имеют двух подчеркиваний).

@echo off for /F "delims=" %%I in ('dir /A-D /B *_* 2^>nul') do ( for /F "tokens=1 delims=_ " %%J in ("%%~nI") do ren "%%I" "%%J%%~xI" ) 

Поместите этот код в текстовый редактор и сохраните его как anyname.bat в папке Optimized images и запустите его. Сначала сделайте копию своей папки.

Спасибо за ваше решение Я думаю, что это правильно. но мне нужно немного изменить этот код ... Проверьте имя сзади и удалите тексты после ("_"). Потому что некоторые имена файлов содержат два подчеркивания, поэтому мне нужно убрать из обратной подсказки любые предложения, пожалуйста .. Shriram 5 лет назад 0
1
T Nierath

Проверьте https://www.howtogeek.com/111859/how-to-batch-rename-files-in-windows-4-ways-to-rename-multiple-files/

«Bulk Rename Utility» или «Advanced Renamer» должны удовлетворить ваши потребности.