Você já precisou alterar vários arquivos ao mesmo tempo com o objetivo de manter todo o nome do arquivo original mas apenas retirar uma parte do texto?
Aqui vou mostrar como fazer para resolver esse problema.
c:\minha-pasta\get-childitem *.* | foreach { rename-item $_ $_.Name.Replace(" o.jpg", "_o.jpg") }
O que foi feito acima:
a) get-childitem: serve para pegar os arquivos que estão dentro da pasta "c:\minha-pasta" e filtrados pelo o que vier em seguida.
b) |: esse caracter serve para executar uma tarefa seguinte após a tarefa anterior. No caso eu listei os arquivos e agora vou fazer uma operação neles.
c) foreach { rename-item $_ $_.Name.Replace(" o.jpg", "_o.jpg") }: serve para renomear todos os arquivos que vieram da lista e trocar o que tiver " o.jpg" por "_o.jpg".
Ex do resultado:
sigilo.jpg -> não troca nada
sigil o.jpg -> troca para sigil_o.jpg
O PowerShell possui muitos comandos que podem ser usados para trabalhar os arquivos. Basta ter a criatividade para montá-los.
Abraços e fiquem com Deus!