Usuário com melhor resposta
Desinstalar programa pelo CMD

Pergunta
-
Boa noite,
Estou fazendo um arquivo .bat para desinstalar programas. No caso, .bat está "funcionando". Só há um problema...
O programa que estou tentando desinstalar possui acento(~) e quando testado pelo .bat ele não pega o acento.
Por exemplo,
Quando vou no CMD e MANUALMENTE faço:
wmic product where name="TOTVS Gestão Financeira - 11.82.38" call uninstall /nointeractive, O arquivo é desinstalado!
Mas quando clico no .bat ele é executado assim no CMD: wmic product where name="TOTVS Gestóo Financeira - 11.82.38" call uninstall /nointeractive. Assim, nunca conseguindo desinstalar o executável, devido a troca do 'ã' de Gest"ã" pelo "ó". Como faço para executar este arquivo .bat para sair com os acentos?
Respostas
-
Abra o WordPad e escreva o comando que está retornando erro devido ao acento, clique em File > Save As > Other Formats e escolha no dropdown Save as type a opção Text Document - MS-DOS Format (*.txt). Renomeie o arquivo salvo de .txt para .cmd e execute novamente o script.
- Marcado como Resposta Diego Gouveia - MTAC segunda-feira, 30 de novembro de 2015 13:40
-
Gustavo Zimmermann Montesdioca,
Tentei de sua forma, mas deu um erro. No caso, tente assim:
wmic product where IdentifyingNumber=1231231313131 call uninstall /nointeractive
Também tentei colocando aspas:
wmic product where IdentifyingNumber="1231231313131" call uninstall /nointeractiveDaí, pulei para a forma que o Anderson_T mencionou e funcionou perfeitamente! Obrigado aos dois.
- Marcado como Resposta Diego Gouveia - MTAC segunda-feira, 30 de novembro de 2015 13:40
Todas as Respostas
-
Olá Diego, tudo joia?
Você tem duas formas de resolver esse problema. Primeiro, você precisa executar o batch no mesmo code page que você criou ele. Por ser em português, provavelmente é o 1252. Para isso, você deve executar o CMD como:
c:\Windows\System32\cmd.exe /k chcp 1252
O comando CHCP define o code page ativo. Contudo, isso é complicado de controlar quando são diversas estações. Assim, eu sugiro uma solução mais consistente que é trocar o nome pelo ID do produto. Para isso, no command prompot, rode MODE CON COLS=9999 para visualizar um produto por linha. Depois, rode WMIC PRODUCT e na coluna 'IdentifyingNumber' pegue o ID do produto (veja imagem abaixo). Creio que isso deixa sua solução mais consistente.
Se a resposta fornecida nessa thread ajudou na sua solução, não esqueça de marcar como resposta!
Abraço,
Gustavo Zimmermann Montesdioca - MTAC, MCT
Blog: www.gm9.com.br
- Sugerido como Resposta GustavoZimmermannMicrosoft employee segunda-feira, 30 de novembro de 2015 11:35
- Editado GustavoZimmermannMicrosoft employee segunda-feira, 30 de novembro de 2015 11:36
-
Abra o WordPad e escreva o comando que está retornando erro devido ao acento, clique em File > Save As > Other Formats e escolha no dropdown Save as type a opção Text Document - MS-DOS Format (*.txt). Renomeie o arquivo salvo de .txt para .cmd e execute novamente o script.
- Marcado como Resposta Diego Gouveia - MTAC segunda-feira, 30 de novembro de 2015 13:40
-
Gustavo Zimmermann Montesdioca,
Tentei de sua forma, mas deu um erro. No caso, tente assim:
wmic product where IdentifyingNumber=1231231313131 call uninstall /nointeractive
Também tentei colocando aspas:
wmic product where IdentifyingNumber="1231231313131" call uninstall /nointeractiveDaí, pulei para a forma que o Anderson_T mencionou e funcionou perfeitamente! Obrigado aos dois.
- Marcado como Resposta Diego Gouveia - MTAC segunda-feira, 30 de novembro de 2015 13:40