У меня естьнколичество файлов, которые я хочу переименовать, удалив определенное имя, пробелы, и я хочу добавить уникальную строку с новым именем:
Например
"MPKL 100055.jpg"
"MPKL 200452.jpg"
"MPKL 500002_thumb.jpg"
Я хочу переименовать указанные выше файлы в:
"00100055.jpg"
"00200452.jpg"
"00500002_thumb.jpg"
Перед существующим числом должны стоять два нуля.
решение1
В примере ниже я использовалДЛЯ /Фцикл для установки разделителей и токенов, анализирующих части имени файла и использующих их для установки переменных для последующего использования сРЕНкоманду. Я также использовалSetlocal EnableDelayedExpansionдля обработки расширения набора переменных в цикле соответствующим образом для их правильного использования (без анализа во время выполнения) с помощью команды rename на каждой итерации внутри цикла.
@ECHO ON
SETLOCAL ENABLEDELAYEDEXPANSION
SET SourceDir=C:\Users\User\Desktop\Tester
FOR /F "TOKENS=1-3 DELIMS=. " %%F IN ('DIR /B /A-D "%SourceDir%\*.jpg"') DO (
SET "part1=%%~F"
SET "part2=%%~G"
SET "part3=%%~H"
REN "%SourceDir%\!part1! !part2!.!part3!" "00!part2!.!part3!"
)
GOTO EOF
Дополнительные ресурсы
решение2
Я часто переименовываю файлы, и мне очень удобно пользоватьсяУтилита массового переименования. Это бесплатно. Вы можете переименовывать файлы и папки в папках и/или подпапках многими способами, включая изменение расширений.
решение3
@echo off
Setlocal enabledelayedexpansion
Set "Pattern=MPKL"
Set "Replace=00"
For %%# in ("FOLDER_PATH/*.jpg") Do (
Set "File=%%~nx#"
Ren "%%#" "!folder!!file!" "!file: =!!File:%Pattern%=%Replace%!"
)
Pause&Exit