CMD/BAT - [решено] Переименование файлов + смена расширения

Ответить
Аватара пользователя
pzh2393

CMD/BAT - [решено] Переименование файлов + смена расширения

Сообщение pzh2393 »

Добрый день!

Помогите, пожалуйста, с переименованием файлов, а то мой код что-то не работает...



Код:

Код: Выделить всё

for /f "tokens=1,2 usebackq" %i in (`dir/b/a-d "* *.jpg"`) do ren "IMG_%i_%j" "%i - %j"

Имеется группа файлов с телефона, имена вида "VID_20130215_123456.3gp", "IMG_20130215_123456.jpg", которые хотелось бы привести к виду "2013.02.15 - 12.34.56.avi" и "2013.02.15 - 12.34.56.jpg" соответственно.

Перекодировать 3gp в avi не нужно, достаточно только сменить расширение файла.
Аватара пользователя
megaloman

Re: CMD/BAT - [решено] Переименование файлов + смена расширения

Сообщение megaloman »

Код:

Код: Выделить всё

@Echo Off
FOR %%f IN (*.3gp) DO Call :ReFile "%%f" avi 
FOR %%f IN (*.jpg) DO Call :ReFile "%%f" jpg
GoTo :Eof
:ReFile
Set NN=%~n1
Set NN=%NN:~-15%
Set NN=%NN:~0,4%.%NN:~4,2%.%NN:~6,2%-%NN:~9,2%.%NN:~11,2%.%NN:~13,2%.%2
move /Y %1 "%NN%" >nul

или если нужно с пробелами в новом имени, переписать

Код:

Код: Выделить всё

Set NN=%NN:~0,4%.%NN:~4,2%.%NN:~6,2% - %NN:~9,2%.%NN:~11,2%.%NN:~13,2%.%2
Аватара пользователя
pzh2393

Re: CMD/BAT - [решено] Переименование файлов + смена расширения

Сообщение pzh2393 »

pzh2393, Уточнение! Чтобы батник в папке с файлами можно было запускать многократно с правильным результатом (это актуально для файлов, для которых не меняется расширение) надо аккуратнее написать маску в For



Код:

Код: Выделить всё

FOR %%f IN (IMG*.jpg) DO Call :ReFile "%%f" jpg

Либо, как вариант, переименованные файлы перемещать в другую папку (дописать путь в команде Move).
Ответить

Вернуться в «Скриптовые языки администрирования Windows»