Команда for
не поддерживает регулярные выражения.
Предполагая, что все файлы содержат -
символы, вы можете использовать этот код в командном файле:
for /f "delims=- tokens=1* usebackq" %%a in (`dir /b *.png`) do ( if not exist "%%a" mkdir "%%a" move "%%a-%%b" "%%a" )
delims=-
будет разделять имена файлов -
, давая вам имя каталога, который будет создан, если он еще не существует. Далее исходное имя файла %%a-%%b
будет перемещено в этот каталог.