Estou tentando executar o o comando abaixo no meu programa Java que esta rodando no windows mas não faz nada. O que tem algo especifico para funcionar no windows pois tenho a mesma implementação do Unix e funciona.
O Windows não tem o programa scp igual ao Unix. Você provavelmente precisará instalar um equivalente e chamar o programa de acordo com a plataforma.
Abraço.
R
robsonsan
Obrigado por responder TerraSkill,
quando eu executo o comando direto no prompt do DOS funciona o comando.
Mesmo assim preciso instalar algo equivalente ao Unix ?
se sim, tem alguma sugestão do que instalar ? o comando muda a forma como estou fazendo com esta instalação ?
O Runtime.getRuntime().exec() retorna um Process, então você poderia verificar o status desse Process para saber se ele está ok ou não. Se estiver null, por exemplo, provavelmente o comando deu erro. Se já não estiver fazendo, teste com um try…catch.
try{Processp=Runtime.getRuntime().exe(..........);// comando aqui//verifica status de p}catch(Exceptione){e.printStackTrace();}
Outro problema pode ser a presença de espaços no path, que o Windows não lida muito bem. A abordagem de usar aspas como você fez pode dar certo, mas não sei no detalhe. Tente chamar o rundll32, como sugerido aqui.
Abraço.
R
robsonsan
Fiz o teste mas não funcinou…
Process até retorna mas não fez os envios
Gostaria de executar o comando direto no java mas nada do que fiz deu certo.
A alternativa foi criar um .bat com o comando SCP e como tenho varios arquivos para enviar para diretórios difentes, eu pego o nome do arquivo e o caminho de destino do Java e faço uma chamada no .bat passando os parametros nome e caminho destino.
E
Eldius
Há algum tempo atrás eu utilizei o JSch, uma biblioteca pra utilizar alguns protocolos como SCP, SFTP, SSH e mais alguns…
Talvez seja mais interessante que ter de depender de uma ferramenta externa no sistema…