Eu tenho um usuário que cria vários conjuntos de texturas exportados a partir de um programa de edição visual que ele usa diariamente. Quando estes exportam, os nomes de arquivos são exibidos com um padrão de "textura *" (por exemplo, textura_43522, textura511235, textura-341231).
O que meu usuário precisa é de um script que ele possa executar em um desses diretórios exportados para adicionar a letra "b" ao final da palavra textura, para que ele possa importar essas texturas corretamente para a próxima etapa do fluxo de trabalho. (por exemplo, textura b _43522, textura b 511235, textura b -341231)
Encontrei uma pergunta semelhante aqui: pergunta semelhante, substituindo "-" por "_", mas não sou versado em scripts em lotes e não consigo descobrir como injetar o padrão "textura" no script em vez do traço.
Qualquer orientação, referência ou amostra de código é bem-vinda.
EDITAR:
Uma solução que acabei usando:
Get-ChildItem -Filter "*texture*" -Recurse | Rename-Item -NewName {$_.name -replace 'texture','textureB' }
Veja a resposta da nixda abaixo e use a que melhor se adequa à sua situação
Get-ChildItem -Filter "*texture*" -Recurse | Rename-Item -NewName {$_.name -replace 'texture','textureB' }
Respostas:
Espero que o PowerShell como sucessor dos CMDs esteja ok
fonte
Get-ChildItem -Filter "*texture*" -Recurse | Rename-Item -NewName {$_.name -replace 'texture','textureB' }
where-object
para que você possa usar uma expressão regular. Minha versão também renomeia os arquivos chamados123texture456.txt
onde o seu não será. Chave aqui é o^
sinal que marca o início filename-notmatch '^textureb'
significa pegar todos os arquivos que não estão começando com textureb ie. já foram renomeados de uma execução anterior. Enquanto o seu significa: Pegue todos os arquivos com textura em algum lugar do nome. Isso inclui também arquivos como textureb123, que já foram renomeados da execução anterior. Ou 123texture.txt também seria renomeado, mas não deve, pois não se enquadra na sua solicitação inicial. Você deve ficar com a minha versão