A informação contida no link SS64 que Charlie Wilson postou originou do meu post SU: Como o comando Windows RENAME interpreta curingas? . Infelizmente, não existe uma sintaxe REN simples que possa fazer o que você deseja.
Você terá que recorrer a pelo menos um loop FOR. Aqui está uma solução que funciona no prompt de comando, desde que nenhum dos seus nomes de arquivo comece com .
.
for %a in (*) do @for /f "eol=. delims=." %b in ("%a") do @ren "%a" "%b%~xa"
Você pode proteger nomes que começam com .
usando a seguinte versão mais complicada:
for /f "eol=: delims=" %a in ('dir /b /a-d *^|findstr /blv .') do @for /f "eol=. delims=." %b in ("%a") do @ren "%a" "%b%~xa"
Você pode executar um dos comandos acima de um arquivo em lote alterando todos os %
para %%