Ajuda com Runtime.exec() [RESOLVIDO]

1 resposta
Joao.Gabriel

Olá pessoal.

O meu problema é o seguinte, estou trabalhando em um projeto de georeferenciamento e preciso usar um programa para importar um arquivo para a minha base de dados. A linha de comando fica assim:

cmd.exe /K “CD C:\Shapes&&shp2pgsql.exe -s 4196 5300108.shp 5300108 > 5300108.sql”

Mas tirando o diretório e o nome do programa, o resto é tudo parâmetro. Quando eu executo essa linha no meu “Executar” do Windows ele faz o seu trabalho direitinho, criando um arquivo SQL, mas quando executo esta mesma linha no método exec() do Runtime ele não dá erro, mas também não cria o arquivo. O que pode ser?

E outra pergunta, como eu criaria um arquivo .bat pra executar só essa linha passando parâmetros?

Muito obrigado pessoal. :smiley:

1 Resposta

Joao.Gabriel

Bom, apesar de não ter aparecido ninguém pra ajudar, na raça aqui eu consegui solucionar o problema. Então, apenas para fica registrado, caso alguém um dia precise, aí vai a solução do problema.

A linha não era executada pelo método exec() porque antes era necessário acessar o drive C, ou seja, “CD C:\Shapes” não é suficiente para abrir a pasta, se você estiver em outra unidade, como no meu caso, drive D.

Quanto ao arquivo .bat, realmente foi a melhor solução para o meu caso. Basicamente, cada linha do arquivo representa um comando. Na segunda-feira, copio o conteúdo do arquivo e coloco aqui, pra servir como consulta.

Ah, para passar parâmetros, é simplesmente do jeito que a gente vê nos primeiros 30s de Google, passando com espaços logo depois do nome do arquivo. Já no arquivo, basta colocar %1 %2 %3, na ordem em que você passa os parâmetros.

Sem mais.

Criado 3 de dezembro de 2008
Ultima resposta 5 de dez. de 2008
Respostas 1
Participantes 1