none
Desinstalar programa pelo CMD RRS feed

  • 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?

    domingo, 29 de novembro de 2015 20:48

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.
    segunda-feira, 30 de novembro de 2015 11:43
  • 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 /nointeractive

    Daí, pulei para a forma que o Anderson_T mencionou e funcionou perfeitamente! Obrigado aos dois.

    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




    segunda-feira, 30 de novembro de 2015 11:35
  • 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.
    segunda-feira, 30 de novembro de 2015 11:43
  • 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 /nointeractive

    Daí, pulei para a forma que o Anderson_T mencionou e funcionou perfeitamente! Obrigado aos dois.

    segunda-feira, 30 de novembro de 2015 13:40