我需要创建一个BAT文件来通过telnet运行应用程序,但据我所知,在DOS上无法做到这一点。 Telnet不允许在连接的瞬间将任何命令发送到远程计算机,并且BAT文件中的每个后续命令只会在telnet停止后执行。这段假设的代码说明了我想要做的事情:
telnet 100.99.98.1 "C:\Application\app.exe -a -b -c"
这会运行带有三个参数的机器100.99.98.1上的app.exe。尽管我努力,但没有任何效果。有没有办法做到这一点?
韩国社交协会,
Pedrin Batista
答案 0 :(得分:6)
你试过了吗?
echo "c:\application\app.exe -a -b -c" | telnet 100.99.98.1
如果远程telnet服务器需要用户名和密码,这将无效。
答案 1 :(得分:3)
由于你的路径,我假设你正在使用Windows平台。我建议从Microsoft / SysInternals查看PsExec,它允许您在远程计算机上执行命令。
PsExec是Mark Russinovich提供的优秀免费PsTools套餐的一部分。 SysInternals最近被微软收购,但这些工具仍然免费。
然而,这不适用于互联网。它使用Windows网络端口445,只应在本地网络上使用。如果您需要,我建议使用SSH。
答案 2 :(得分:2)
以你想要的方式使用telnet是不可能的。
你可以保护shell(ssh),但是ssh服务器必须在远程机器上运行(在你的情况下为100.99.98.1)。
编辑:
有关Windows的ssh客户端和服务器(基于cygwin),请参阅http://sshwindows.sourceforge.net/。
答案 3 :(得分:2)
您是否尝试过以下操作?
telnet 100.99.98.1 <someScript
someScipt有你的命令,例如C:\Application\app.exe -a -b -c
你看过Remote Shell daemon的窗户吗?这可能比telnet好很多。
答案 4 :(得分:1)
尝试expect
来自网页:
Expect是一种自动化工具 交互式应用程序,如 telnet ,ftp,passwd,fsck,rlogin, 小费等等。期待真的能做到这一点 琐事。期望也很有用 用于测试这些相同的应用程序。
答案 5 :(得分:0)
您的telnet应用程序是否需要在命令窗口中运行,或者您是否只需要从命令行启动它?如果您想“启动并忘记”,您可以考虑使用可编写脚本的终端程序,例如免费的TeraTerm。您可以使用start
命令从命令行启动它,并让它在后台执行脚本。
答案 6 :(得分:0)
您可以考虑使用Cygwin(它提供在Windows上运行的类似Linux / Unix的命令行环境)。作为Cygwin的一部分,可以使用各种标准工具,包括shell脚本。