Я пытаюсь выполнить команду в Windows XP с каналом Jsch Shell, но по какой-то причине я получаю странные символы в своем потоке System.out, и команды не могут быть выполнены, код, который я использую для подключения, таков:
this.session = jsch.getSession(this.login, this.host);
Properties properties = new Properties();
properties.put("StrictHostKeyChecking", "no");
session.setPassword(this.password);
session.setConfig(properties);
session.connect(30000);
channel =(ChannelShell) session.openChannel("shell");
PipedInputStream pip = new PipedInputStream(40);
channel.setInputStream(pip);
channel.setOutputStream(System.out);
PipedOutputStream pop = new PipedOutputStream(pip);
print = new PrintStream(pop);
channel.connect();
Затем я получаю следующее сообщение:
[1;1HMicrosoft Windows XP [Versi�n 5.1.2600][2;1H(C) Copyright 1985-2001 Microsoft Corp.[4;1HC:\Documents and Settings\diego\Escritorio>[4;44H
И когда я пытаюсь вызвать компакт-диск C:\MyFolder\, а затем другую команду (все протестировано с клиента ssh и работает), я получаю более странные символы и не получаю результаты своих команд. В чем может быть проблема? Ниже приведены команды, которые я отправляю, и результат:
exec.print.println("cd C:\\MyFolder\\");
exec.print.println("some other command");
результат:
[1;1HMicrosoft Windows XP [Versi�n 5.1.2600][2;1H(C) Copyright 1985-2001 Microsoft Corp.[4;1HC:\Documents and Settings\diego\Escritorio>[4;44H[4;1HC:\Documents and Settings\diego\Escritorio>c[4;58H[4;1HC:\Documents and Settings\diego\Escritorio>cd C:\MyFolder\[4;58H[4;46H[4;58H[4;47H[4;58H[4;48H[4;58H[4;49H[4;58H[4;50H[4;58H[4;51H[4;58H[4;52H[4;58H[4;53H[4;58H[4;54H[4;58H[4;55H[4;58H[4;56H[4;58H[4;57H[4;58H
Я использую FreeSShd в Windows XP, и программа работает в Ubuntu, я использую ssh в своей консоли и работаю с Windows XP, я пытаюсь реализовать это в своей программе Java, спасибо за любую помощь.