Meu utilitário de renomeação de expressão regular JREN.BAT é perfeito para esse problema. É um script puro (JScript / batch híbrido) que é executado nativamente em qualquer máquina Windows do XP em diante. A documentação completa está incorporada no script e pode ser alcançada executando jren /?
(ou jren /??
se você quiser ajuda paginada).
O JREN.BAT permite combinar e renomear arquivos usando expressões regulares, e a cadeia de substituição pode ser uma expressão do JScript. Incorporado ao utilitário está uma função sofisticada de formatação de timestamp que torna o trabalho realmente fácil.
O seguinte forro irá renomear todos os arquivos "rec.EspochTime.mp3" no diretório atual para o
"MM-DD-AAAA_hh-mm-ss.mp3" formato. Ele irá converter o horário da época usando o fuso horário local. Existem opções adicionais que permitem especificar um fuso horário específico para a saída.
jren "^rec\.(\d+)\.mp3$" "ts({dt:$1,fmt:'{mm}-{dd}-{yyyy}_{hh}-{nn}-{ss}.mp3'})" /j
Mas eu recomendo strongmente que você mude o formato de data de MM-DD-AAAA para AAAA-MM-DD. Isso permite classificar facilmente as listagens de diretório em ordem cronológica. O formato {iso-dt}
é um atalho para {yyyy}-{mm}-{dd}
.
jren "^rec\.(\d+)\.mp3$" "ts({dt:$1,fmt:'{iso-dt}_{hh}-{nn}-{ss}.mp3'})" /j
Dado que JREN é em si um script em lote, você deve usar CALL JREN se colocar o comando dentro de outro script em lote.