Acentos em arquivos BAT

Olá a todos,

Essa semana uma pergunta interessante apareceu na lista MCPdx, que eu ajudo a moderar e reponder. Um leitor da lista chamado Marcelo Lemos perguntou sobre como colocar acentos em arquivos BAT. Segue abaixo, a resposta.

Essa foi do fundo do baú... não pensei que fosse usar isso pra mais nada na minha vida.

O fato é que, certa vez eu, aos meus 16 anos, começando a trabalhar com informática, eu precisei disso pra colocar acentos num dos meus primeiros scripts: um BAT que, colocado num disquete, servia para remover um vírus do setor de boot do computador. O nome dele eu nem lembro mais... mas queria colocar acento numa mensagem e descobri. Hoje, 5 anos depois, conheço bastante sobre scripting... mas tô começando a esquecer dos meus truques no DOS.

O truque que eu encontrei é simples. Basta salvar o arquivo texto na codificação cp850. Acredito que não seja possível fazer isso no bloco de notas... mas no Vim (uso a versão Win32 dele em casa), o comando para mudar é

:set fenc=cp850
e depois
:w

Até mais!

Categorias dessa postagem:

Comentários

Diego Heleno : E ae blz!!
Sou estudante de Engenharia da Computação trabalho com TI e moro em Brasília. Não sabia q exitia campeonatos de scripting e fiquei super interessado em aprender mais sobre essa arte. Gostaria de trocar meu msn contigo. helenodiego@hotmail.com [27/3/07 10:23 - link]

Diego Heleno : hostname > arquivo.txt

Nesse exemplo de um linha de script .bat eu retorno o nome do computador a um arquivo chamado arquivo.txt.
Duvida:
Como faço para o nome do arquivo ser o nome do computador. Ex.:

Nomecomputador.txt [27/3/07 11:36 - link]

Vinicius Canto : Desculpe, mas não compreendi o que você procura.

Teste, no Windows Powershell, o comando abaixo

echo '' > "${env:\computername}"

[]s,

Vinicius [4/4/07 23:12 - link]

Paulo Freitas : hostname > hostname.txt
ou
hostname > %computername%.txt [10/4/07 17:22 - link]

Vinicius Canto : Perfeito... já tô num estágio que penso tudo em Powershell primeiro...

Obrigado pela contribuição!

[]s,

Vinicius [10/4/07 22:00 - link]

Alex Silva : Bem, o quero não é bem postar um comentário diremamente sobre o assunto, mas se bem que o conteúdo passado no blog também não conhecia.

Eu quero fazer de forma automática jogar os meus aquivos de minha máquina para o servidor que é intranet e nisso testar se ele teve algum erro na hora de copiar, caso tenha algum erro de copy verificar e tentar copiar o mesmo arquivo. Alguém sabe fazer isso? Isso com o arquivo.bat

Um abraço. [9/5/07 16:21 - link]

Street Life : Cara, valeu pela dica!!! Estava com problemas com os acentos no bat! Tem coisas que só a vivência dá pra gente. Valeu [1/6/07 20:34 - link]

Vinicius Canto : Duas respostas em uma:

1, para o Alex Silva): No BAT, use o comando IF EXISTS c:\blablabla

2, para Street Life): Muito obrigado! esse é realmente um truque que pouca gente conhece! [4/6/07 09:31 - link]

Rômulo : Bom dia amigos,

Gostaria de saber se eu tenho como criar uma bat que ao executa-la, ela altere uma determinada palavra de uma linha de um arquivo .txt

Aguardo. [26/6/07 08:13 - link]

Anônimo : Boa tarde a todos,

sou Analista Desenvolvedor Java, só me deparei com um problema onde preciso criar um arquivo batch para transportar certos arquivos de uma máquina pra outra via FTP. Consegui realizar essa tarefa, porem somento qdo eu digo o nome do arquivo ou uso * que pega o primeiro arquivo do diretório, sendo que eu queria na verda era listar todos os arquivos do diretório e ir trabalhando com um de cada vez, jogar cada arquivo em uma varável. Se alguém puder me ajudar, agradeço bastante!

Um abraço!
Leandro Queirozleandroqbs@hotmail.com [28/6/07 16:22 - link]

Vinicius Canto : Olá,

desculpe pela demora mas... porque não usar o próprio Java para enviar os arquivos ao invés de gerar um arquivo BAT pra isso? Eu aposto 10 cents que existe um pacote pronto pra isso...

[]s,

Vinicius Canto
MVP Windows Server - Admin Frameworks [28/7/07 16:09 - link]

Vinicius Canto : Para o Rômulo:

Até deve ter uma forma de fazer isso com um BAT... mas com Powershell fica muito mais fácil. Veja como eu faria para trocar "Vinicius Canto" por "VCX" na linha 50 de um arquivo texto:

$linhas = cat arquivo.txt
$linhas[50] = $linhas[50].replace('Vinicius','VCX')
$linhas | out-file arquivo.txt

[]s,

Vinicius Canto
MVP Windows Server - Admin Frameworks [28/7/07 16:27 - link]

levyfranco : I SERA QUE PODERIAM ME AJUDAR, ESTOU TENTANDO FAZER UM BAT QUE ENVIE UM ARQUIVO QUE SELECIONEI CLICANDO COM O DIREITO E SELECIONANDO O BAT NO SENDTO (ENVIAR PARA)


O MEU ATUAL ESTA DEFINIDO A ORIGEM DO ARQUIVO E DESTINO


XCOPY c:\teste\*.doc \\celpafn\prdfn\sim\ensaios /Y

XCOPY c:\teste\*.xls \\celpafn\prdfn\sim\ensaios /Y


EU QUERIA QUE A ORIGEM FOSSE O ARQUIVO SELECIONADO. NÃO ME ADIANTA UTILIZAR APENAS UM ATALHO DA PASATA DESTINO NO SENDTO, POIS ESTOU UTILIZANDO ESTE METODO PARA EVITAR QUE ALGUM ARQUIVO SEJA SUBSTITUIDO.



obrigado


levy de franco
msn:engelchenbrasilienisc@hotmail.com
levyfranco@oi.com.br [24/9/07 14:32 - link]

Glauco Basilio : boa dica! mas eu não tenho editor que converte o .bat pra cp850. Então fui ver se dava pra fazer o contrário fazer o dos entender outro cp(code page). Digitei help no prompt e voa-la descobri um comndo dos que chama CHCP que muda o cp do dos para funcionar com seus arquivos ASCII acentuados. então o lance fica mais tranquilo. é so colocar na primeira linha do bat o comando: chcp 1252 [8/8/08 01:31 - link]

Anônimo : Achei em um fórum:



1º Abra o arquivo .bat.



2º Clique em formatar e depois fonte. Selecione a fonte Terminal.



3º Vá em iniciar - Programas - Acessórios - Ferramentas do Sistema - Mapa de Caracteres.



4º No mapa de caracteres copie as letras acentuadas e cole no arquivo .bat .

OBS.: Se você digitar diretamente não vai dar certo. Tem que copiar do mapa de caracteres estando selecionada a fonte terminal.



Abraço. [17/12/08 13:45 - link]

André Canhadas : http://www.vim.org/download.php

Tem a versão pra windows [30/3/11 10:20 - link]

André Canhadas : Segue abaixo os caracteres convertidos:
Original:
ã Ã õ Õ é É í Í ó Ó ú Ú ç Ç à À è È ì Ì ò Ò ù Ù â Â ê Ê ô Ô
Fenc=850:
Æ Ç ä å   µ ‚  ¡ Ö ¢ à £ é ‡ € +++ … · Š Ô  Þ • ã — ë ƒ ¶ ˆ Ò “ â [30/3/11 10:40 - link]

Jonas da Silva : Olá pessoal,



Alguém ai sabe como exibir o símbolo ª º em DOS?



já tentei de um tudo que dizem nesses fóruns e nada,



Ex.: quero que apareça 1º, 1ª... [13/2/15 18:37 - link]