Suponha que seus arquivos utf8bom estejam em c:\temp\utf8\
Estou salvando os arquivos ansi em c:\temp\ansi\
Na linha de comando,
> powershell
PS> get-item c:\temp\utf8\*.* | foreach-object {get-content $_ | out-file ("c:\temp\ansi\" + $_.Name) -encoding default}
PS> exit
>
O que ele faz é que para cada arquivo em c:\temp\utf8
, obtenha o conteúdo e a saída em um arquivo com o mesmo nome de arquivo em c:\temp\ansi
com a codificação padrão do sistema Windows, equivalente ao ANSI que você quis dizer.
get-content
aqui pode ler o texto sem você especificar o utf8 com ou sem bom.