2008-11-12 112 views
2

我需要創建一個BAT文件來通過telnet運行應用程序,但據我所知在DOS上無法做到這一點。 Telnet不允許在連接的瞬間將任何命令發送到遠程計算機,BAT文件中的每個後續命令只有在telnet停止後纔會執行。這個假設的代碼說明了什麼我想做的事:通過Telnet運行應用程序

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

這將有三個參數運行的機器100.99.98.1上APP.EXE。儘管我的努力,沒有任何工作。有沒有辦法做到這一點?

韓國社交協會,

Pedrin巴蒂斯塔

回答

1

expect從網頁試試

期待是自動化 交互式應用,如 的telnet,FTP,passwd文件時,fsck,遠程登錄, 尖等工具預計真的會讓這個東西變得微不足道。對於測試這些相同的應用程序,期望也是有用的 。

2

在你想要的方式使用telnet是恕我直言不可能的。

你可以安全的shell(ssh),但一個SSH服務器必須在遠程機器上運行(在你的情況下爲100.99.98.1)。

編輯:

http://sshwindows.sourceforge.net/適用於Windows SSH客戶端和服務器(基於Cygwin的)。

+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平臺。我建議從Microsoft/SysInternals中查看PsExec,它允許您在遠程機器上執行命令。

PsExec是來自Mark Russinovich的優秀免費PsTools包的一部分。 SysInternals最近被微軟收購,但這些工具仍然是免費的。

但是,這並不是通過互聯網工作。它使用Windows網絡端口445,只能在本地網絡上使用。如果你需要,我會建議使用SSH。

2

您是否嘗試過以下方法?

telnet 100.99.98.1 <someScript 

哪裏someScipt有你的命令,例如,C:\Application\app.exe -a -b -c

你是否看了Remote Shell daemon窗戶?這可能比telnet好很多。

0

您可能會考慮使用Cygwin(它提供了一個在Windows上運行的類似Linux/Unix的命令行環境)。作爲Cygwin的一部分,有許多標準工具,包括shell腳本。

相關問題