[Resolvido] Java SE com Windows (Batch FIles)

Bem é o seguinte pessoal,

não sei se agluem pode me ajudar, eu procurei na internet e não achei nada sobre JAVA fazer SSH e SCP (LINUX) a unica coisa que acho é o Runtime.getRuntime().exec();

Bem, isso funciona no Linux… mas se eu fosse utilizar no linux eu usaria Bash é mais simples rapido… e não se mata pra fazer…

ai vem o porem exite o PSCP que é emulador de SCP para windows e o Run… chama um BAT que não executa direito essa porcaria… pq o BAT é um LIXO… literalemente… e naõtem como chamar ele separamaente tipo colocar o pscp.exe no system32 e chamar direto no runtime.exec(pscp login@ip…); pq o runtime não roda todos os comando existentes no maldito window.s… mas roda todos do linux (será pau no java… acho que não)…

Então… alguem sabe como schmar comandos do system 32 pra utilizar separadamente ou ja viu alguma classe java que você instancie ou herde para fazer um scp … ???

Ora, o Runtime.exec não roda diretamente uma .BAT ou .CMD; você precisa especificar o cmd.exe ou o command.com (depende da sua versão do Windows; se estiver usando uma versão muito antiga, como o Windows 98 - que não será suportado pelo Java 7 - é commando.com).

Exemplo para rodar uma batch:

Process proc = Runtime.getRuntime().exec (new String[]{"cmd.exe", "/c", "suaBatchPodreEInutil.bat", "parametro1", "parametro2"});
...

Mas acho melhor usar os comandos do Putty direto, em vez de confiar numa “batch podre e inútil” do Windows, como você está morrendo de vontade de dizer. Eu também acho difícil usar uma batch (tanto é que no Windows Server 2008 ela será substituída pelo “Monad”), mas não é tão podre e inútil conforme você diz.

pscp - cópia de arquivos via SCP

psftp - cópia de arquivos via SFTP

plink - executa um comando remoto, como se fosse o SSH

Exemplo:

Process proc = Runtime.getRuntime().exec (new String[]{"pscp.exe", "-pw", "suaSenha", "-ls", "usuario@maquina:/diretorio"});
...

Cara, vou tentar executar com as virgulas como vc me disse… pra ver se funciona… vlw… cara… se tiver outra solução estou aberto …

VLW CAra