Como converter um arquivo de lote armazenado em utf-8 para algo que funciona através de outro arquivo de lote e executá-lo
Eu tenho um programa que eu uso para criar um arquivo de lote. Meu problema é que a saída do programa é UTF-8, então, assim que qualquer sinal diacrítico como o é, à, ö, Ä estiver no meu arquivo de lote, ele falhará. Parece que não consigo descobrir uma maneira de converter minha saída para nada além do UTF-8 no programa que cria o arquivo em lote.
Então eu estava pensando em criar dois arquivos bach. O atual e outro que converte o real de UTF-8 para ANSI (Windows Codepage 1252, ou talvez cp 850) e, em seguida, executa-lo depois disso. É claro que eu adicionaria um chcp xxxx como o primeiro comando do arquivo de lote real.
Então, minha pergunta é se há uma alternativa para o iconv no Windows - ou como converter um arquivo de texto UTF-8 para uma página de código do Windows usando um segundo arquivo de lote. Existe alguma coisa embutida no Win XP e até que eu poderia usar ou há uma ferramenta gratuita e redistribuível que eu possa usar para isso?
Nota:
chcp 65001
não funciona para arquivos em lote.
EDIT 1:
No windows XP eu criei dois arquivos em lote para testar a primeira resposta.
1.bat codificado para UTF-8 sem BOM contém:
chcp 1252
cd üöä
2.bat também codificado para UTF-8 sem BOM - mas sem caracteres especiais contém:
chcp 1252
type "1.bat" >"ansi_file.bat"
O ansi_file.bat resultante criado quando se executa 2.bat ainda será utf-8 codificado e não ansi codificado.
EDIT 2:
O processo inverso mencionado funciona.
chcp 1252
echo ü > ansi.txt
cmd /u /c type ansi.txt > unicode.txt
mas nenhuma das seguintes linhas subseqüentes
cmd /a /c type unicode.txt > back2ansi.txt
type unicode.txt > back2ansi_v2.txt
me leva de volta ao ANSI. Eu tentei isso tanto no Win XP e Win 7. Alguém pode ajudar?
NOTA:
Estou ciente de como usar o Windows Script Host e o VBS. Eu gostaria de evitar depender do host de scripts. O método VBS é detalhado aqui:http://msdn.microsoft.com/pt-br/library/windows/desktop/aa368046%28v=vs.85%29.aspx
EDIT 3:
O arquivo de texto criado contendo um unicode ü acima não é utf-8
O arquivo unicode do Windows é HEX:
FC 00 20 00 0D 00 0A 00
UTF-8 sem BOM seria HEX:
C3 BC 20 0D 0A
A solução VBS vinculada somente funciona com o formulário unicode, mas falha no formulário UTF-8. Eu preciso converter UTF-8 para outra página de código, então nem isso parece funcionar para mim ...