Запуск приложений через Telnet - PullRequest
2 голосов
/ 12 ноября 2008

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

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

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

Tks

Педрин Батиста

Ответы [ 7 ]

6 голосов
/ 12 ноября 2008

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

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

это не будет работать, если удаленному серверу telnet требуются имя пользователя и пароль.

3 голосов
/ 12 ноября 2008

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

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

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

2 голосов
/ 12 ноября 2008

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

telnet 100.99.98.1 <someScript

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

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

2 голосов
/ 12 ноября 2008

Использование telnet так, как вы хотите, не возможно.

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

EDIT:

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

1 голос
/ 12 ноября 2008

дать ожидать попробовать

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

Expect - инструмент для автоматизации интерактивные приложения, такие как telnet , ftp, passwd, fsck, rlogin, чаевые и т. д. Ожидать действительно делает это мелочь Ожидать также полезно для тестирования этих же приложений.

0 голосов
/ 12 ноября 2008

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

0 голосов
/ 12 ноября 2008

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

...