@echo off
setlocal EnableDelayedExpansion
if not exist HTML md HTML
for %%i in (*.html) do (
move "%%~i" HTML
set dirName=%%i
set dirNameWithoutExtension=!dirName:~0,-5!
move "!dirNameWithoutExtension!" HTML
)
Você pode criar um arquivo de lote genérico para lidar com extensões diferentes ou apenas usar um dos muitos utilitários criados apenas para esse propósito.