Runtime + problema para agendar tarefas

0 respostas
GabrielGarcia

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?

Criado 1 de julho de 2009
Respostas 0
Participantes 1