DOS, Replace e Code page 437 (Coisas Úteis)

Há dois anos, tive um entrave quando precisei passar fotos para um computador remoto, usando um terminal Citrix e sem poder instalar qualquer tipo de software que já não estivesse naquele computador. Copiar e colar pelo Windows Explorer gerava erros e retrabalho, causando perda de fotos e reclamações do cliente.

Geralmente, eu recorreria ao programa Robocopy, que foi feito para essas situações, mas essa máquina não o possuía e o departamento de TI não podia instalá-lo, devido às políticas de segurança da empresa. Portanto, tive de encontrar uma forma alternativa de sincronizar as dezenas de pastas com as centenas de fotos que produzíamos mensalmente.

Após muita pesquisa, cheguei ao programa Replace, que já vem com o DOS desde versões muito antigas. Sabendo que esse programa estava disponível, criei um arquivo “atualização imagens.bat” com um comando simples, que consistia em explorar o parâmetro /A (adicionar qualquer arquivo que estiver faltando) desse programa, incluindo na pasta de destino apenas os arquivos da pasta de origem que ainda não estão lá:

replace "c:\fotos\relatório 2013-03\*" "d:\fotos\relatório 2013-03" /a

Ao executar o comando, esbarrei em um problema: relatório era compreendido como relat¢rio, gerando um erro de “pasta não encontrada”. Eu poderia ter simplesmente alterado o nome das pastas, removendo o acento, mas essa não era a primeira vez que eu me deparava com esse erro. Ademais, algum dia eu poderia não ter como contorná-lo, então decidi investir um tempo para descobrir a razão por trás dele.

O erro estava na codificação de caracteres. O Prompt de Comando herdou a codificação utilizada no DOS, e o Bloco de Notas do Windows 7 não salva mais arquivos nessa codificação. Esse tipo de codificação é conhecido como Code Page, ou CP, sendo os mais importantes o CP437 (original) e o CP850 (que veio com o Windows ME).

Utilizando o Notepad++, pude salvar o arquivo na codificação OEM 850 (ou seja, CP850) e resolvi o problema. O Notepad++ não é o único programa que salva em diversas codificações e nem é o programa que eu uso para criar arquivos batch, mas ele é gratuito, livre e nunca me deixou na mão.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s