O comando for
não suporta expressões regulares.
Supondo que todos os arquivos contenham um caractere -
, você provavelmente poderá usar esse código em um arquivo em lotes:
for /f "delims=- tokens=1* usebackq" %%a in ('dir /b *.png') do (
if not exist "%%a" mkdir "%%a"
move "%%a-%%b" "%%a"
)
delims=-
dividirá os nomes dos arquivos em -
, fornecendo o nome do diretório que será criado se ainda não existir. Em seguida, o nome do arquivo original, %%a-%%b
, será movido para esse diretório.