E ai galera do GUJ, tudo bem?
Preciso de uma ajuda com um problema que já está me deixando com dor de cabeça.
Tenho um instalador para o sistema da empresa. Executo tudo que preciso executar, porém, eu não estava conseguindo fazer o instalador de Windows agendar a tarefa de backup para o dia de sábado.
Eu executo os comandos CMD do Windows definindo um
Process p = Runtime.getRuntime().exec(......)
O problema, é que os espertos da Microsoft conseguiram a proeza de traduzir a sintaxe dos comandos executados via linha de comando para o português.
O comando para agendar tarefas executado através do método do Runtime é o seguinte:
schtasks /create /ru SYSTEM /tn BackupSegunda13Horas /tr c:\\bkcontrole\\backuppg.bat SegA /sc semanalmente /d SEG /st 13:00:00
Esse funciona, mas os caras traduziram o WEEKLY para SEMANALMENTE, da mesma forma como traduziram os dias da semana.
Então, executando o comando via Runtime para sábado, eu teria
schtasks /create /ru SYSTEM /tn BackupSabado13Horas /tr c:\\bkcontrole\\backuppg.bat SabA /sc semanalmente /d SAB /st 13:00:00
Teoricamente, OK. O problema é que não funciona. Depois de tentar muito diretamente via Command Prompt, descobri que os espertos além de traduzirem SATURDAY (SAT) para SABADO (SAB), o fizeram usando acento, forçando-me a usar
schtasks /create /ru SYSTEM /tn BackupSabado13Horas /tr c:\\bkcontrole\\backuppg.bat SabA /sc semanalmente /d SÁB /st 13:00:00
com acento… em um parâmetro ¬¬
Usando este acento via Command Prompt diretamente, funciona.
Fazendo via Runtime, gera erro.
Tentando fazer o Runtime executar um arquivo em lote .bat, gera o mesmo erro, pois o acento em SÁB é convertido para um caractere especial qualquer.
Não quero usar um .bat, tentei para ver se resolvia. Pretendo manter a estrutura que uso no programa de instalação usando Runtime, mas este pequeno detalhe me pegou de surpresa.
No Windows XP em inglês funciona normalmente. No Vista/Seven em qualquer idioma a Microsoft não traduziu os comandos (espertos eles) e funciona normalmente.
Mas como 95% da base de clientes usa o Windows XP em Português, eu travei neste problema.
Alguma sugestão?