À frente das respostas com scripts CMD para uma mudança, aqui está uma maneira diferente, usando TCC / LE da JP Software, uma alternativa intérprete de comandos:
@echo off
for %file in ([a-z][a-z][a-z][0-9][0-9][0-9][0-9][0-9][a-z][0-9].*) do (
mkdir 2>NUL "%@instr[3,5,%file%]"
ren "%file%" "%@instr[3,5,%file%]\%file%"
)
Observe que o caractere curinga bastante longo segue sua especificação e não incluirá nomes de arquivos com padrões de dígitos de letras diferentes. Um caractere curinga menos restritivo seria [?][?][?][?][?][?][?][?][?][?].*
, que corresponde a cada nome de arquivo com exatamente 10 caracteres, sem extensão. Observe também que não há necessidade de um /a:-d
explícito com for
, já que excluir diretórios já é o padrão.
Use a opção /n
para o comando ren
para exibir o que aconteceria sem mover os arquivos.
É loucura analisar a saída de dir /b
com for
, a propósito. Mesmo no CMD da Microsoft, for
pesquisa curingas em si.