Допустим есть папки, в каждой папке лежит картинка (произвольное_имя_файла.bmp). Нужно переименовать все файли *.bmp в имя папки. Для этого создаем файл с расширением .bat и запускаем в нужном месте.
@echo off
SetLocal EnableExtensions
for /f "delims=" %%a in ('2^>NUL dir /b /a-d /s .\*.bmp') do (
if /i "%%~dpa" neq "%~dp0" (
for %%b in ("%%~a\..") do (
attrib -S -H "%%~a"
ren "%%~a" "%%~nxb%%~xa"
echo ren "%%~a" "%%~nxb%%~xa"
)
)
)
pause
Если картинка будет скрытой или системной, этот код также снимет данные атрибуты. При их наличии нельзя переименовать командой ren. Картинки в одной папке (на одном уровне) с батником пропускаются. Предполагается, что в каждой папке по одной картинке, иначе будет переименована только первая. По остальным получите ошибку сообщением в консоль.