Массовое изменение имен файлов

У меня есть 233 файла, где мне нужно изменить имена файлов. Просто найдите дефис (-) в имени файла и замените текст справа от дефиса до точки (.) Слева и слева от дефиса справа.

Вот пример имени файла и соглашение об использовании шаблона / наименования. Name Of Movie (9999) - Название Song.kam, где 9999 - год

Все файлы имеют одинаковый шаблон. Я хочу изменить порядок на Название песни - Название фильма (9999).kam, где 9999 - это год

Примечание: в имени файла каждое слово после a находится в CAPS

Если это невозможно, мне придется сделать это вручную. Может кто-нибудь дать мне пакетный скрипт для выполнения этого или сказать, если это возможно сделать?

Спасибо.

1 ответ

Решение
@ECHO OFF
SETLOCAL
SET "sourcedir=U:\sourcedir"
FOR /f "tokens=1,3delims=)-." %%a IN (
 'dir /b /a-d "%sourcedir%\*) - *.kam" '
 ) DO FOR /f "tokens=*" %%u IN ("%%b") DO ECHO REN "%sourcedir%\%%a) -%%b.kam" "%%u - %%a).kam"

GOTO :EOF

Это должно решить вашу проблему. Вы должны были бы изменить свой источник конечно.

Требуемые команды REN просто ECHOЭд для тестирования. После проверки правильности команд измените ECHO REN в REN на самом деле переименовать файлы.

Другие вопросы по тегам