2008-11-12 3 views
2

Мне нужно создать файл BAT для запуска приложения через telnet, но насколько я знаю, в DOS нет возможности сделать это. Telnet не позволяет отправлять какую-либо команду на удаленный компьютер в самый момент подключения, и каждая последующая команда в BAT-файле будет выполняться только после остановки telnet. Этот гипотетический кусок кода показывает, что я хочу сделать:Запуск приложений через Telnet

telnet 100.99.98.1 "C:\Application\app.exe -a -b -c" 

И что бы запустить app.exe на машине 100.99.98.1 с тремя параметрами. Несмотря на мои усилия, ничего не получилось. Есть ли способ сделать это?

Tks,

Pedrin Батиста

ответ

1

дают expect попробовать

с веб-страницы:

Ожидать является инструментом для автоматизации интерактивных приложений, таких как телнет, FTP, ПАРОЛЬ, FSCK, RLogin, наконечник, и т.д. Ожидание действительно делает этот материал тривиальным. Ожидание также полезно для тестирования этих же приложений.

2

Использование Telnet так, как вы хотите, чтобы это IMHO не представляется возможным.

Вы можете защитить оболочку (ssh), но сервер ssh должен запускаться на удаленном компьютере (100.99.98.1 в вашем случае).

EDIT:

См http://sshwindows.sourceforge.net/ для клиента SSH и сервер (на основе Cygwin) для Windows.

+0

Правильно, telnet не предназначен для неинтерактивных целей. :-P – 2008-11-12 12:09:00

0

Необходимо ли использовать приложение telnet в командном окне, или вам нужно только начать из командной строки? Если вы хотите «запускать и забывать», вы можете рассмотреть программу для сценариев, такую ​​как бесплатный TeraTerm. Вы можете запустить его из командной строки командой start и позволить ей выполнить сценарий в фоновом режиме.

+0

К сожалению, мне нужно окно команды из-за взаимодействия. – Pedrin 2008-11-12 12:20:36

6

Вы пробовали:

echo "c:\application\app.exe -a -b -c" | telnet 100.99.98.1 

это не будет работать, если удаленный сервер Telnet запрашивает имя пользователя и пароль, хотя.

+0

Ударьте меня за секунды! – 2008-11-12 12:12:00

3

Из-за ваших путей я предполагаю, что вы работаете на платформе Windows. Я бы предложил посмотреть PsExec от Microsoft/SysInternals, который позволяет вам выполнить команду на удаленном компьютере.

PsExec является частью отличного бесплатного пакета PsTools от Марка Руссиновича. SysInternals недавно был приобретен Microsoft, но инструменты остаются бесплатными.

Это, однако, не работает через Интернет. Он использует сетевой порт Windows 445 и должен использоваться только в локальных сетях. Если вам нужно, я бы предложил использовать SSH.

2

Вы пробовали следующее?

telnet 100.99.98.1 <someScript 

Где someScipt имеет вашу команду, например, C:\Application\app.exe -a -b -c

Вы смотрели на Remote Shell daemon для окон? Это, вероятно, намного лучше, чем telnet.

0

Возможно, вы захотите использовать Cygwin (который предоставляет среду командной строки с Linux/Unix, работающую в Windows). Широкий спектр стандартных инструментов, включая сценарии оболочки, доступен как часть Cygwin.

Смежные вопросы