Espero que o PowerShell como sucessor de CMDs esteja ok
Dir D:\test | Where {$_ -notmatch '^textureb' } | ForEach {
Ren $_.Fullname $_.Name.Replace('texture','textureb')
}
Eu tenho um usuário que cria vários conjuntos exportados de texturas a partir de um programa de edição visual que ele usa diariamente. Quando estes exportam, os nomes dos arquivos aparecem com um padrão de "textura *" (por exemplo, texture_43522, texture511235, texture-341231).
O que meu usuário precisa é de um script que possa ser executado em um desses diretórios exportados para adicionar a letra "b" ao final da textura da palavra, para que ele possa importar essas texturas corretamente para a próxima etapa de seu fluxo de trabalho. (por exemplo, textura b _43522, textura b 511235, textura b -341231)
Encontrei uma pergunta semelhante aqui: pergunta semelhante, substituindo" - "por" _ ", mas eu não sou bem versado em scripts em lote e sou incapaz de descobrir como injetar o padrão" textura "no script em vez do traço.
Qualquer orientação, referência ou exemplos de código são bem-vindos.
EDITAR:
Uma solução que acabei usando:
Get-ChildItem -Filter "*texture*" -Recurse | Rename-Item -NewName {$_.name -replace 'texture','textureB' }
Por favor, veja a resposta da nixda abaixo e use a melhor para sua situação