是否可以使用 Windows Telnet 客户端运行脚本中的一系列命令?
如果没有的话还有其他选择吗?
答案1
很久以前,我编写了一个 COM 服务器,以便我可以通过 VBScript 进行 telnet。如果您想要一份副本(包括源代码),我很乐意将其放在互联网上的某个地方。我使用它来远程重启路由器。
为了让您对它的功能有所了解,这里有一个示例脚本(已删除错误检查)
const SVR = "www.microsoft.com"
dim telnet, s, i
set telnet = CreateObject("Rhs.Telnet")
telnet.Startup()
telnet.Connect SVR, 80
telnet.Writeline "GET / HTTP/1.0"
telnet.Writeline "Host: www.microsoft.com"
telnet.Writeline "User-Agent: RhsTelnet"
telnet.Writeline "Accept: */*"
telnet.Writeline ""
do while telnet.Readline(s, 1000)
wscript.echo s
loop
telnet.Disconnect()
telnet.Cleanup()
JR
链接到 COM 服务器:嗨 Lachlan 尝试一下http://www.ratsauce.co.uk/RouterCheck.zip
这是 COM 服务器和用于重新启动 Draytek 路由器的脚本。脚本 RouterCheck.wsf 检查它是否可以 ping 几个测试主机,因此您可能希望忽略大部分代码。只需使用 RebootRouter 函数并忽略其余部分。这是在我的 ADSL 线路的末端,因此下载可能会有点慢。
如果有人想要源代码(带有 ATL 的 Visual C++ 5.0),那么我可以将其放在 SourceForge 上。
答案2
是的。看看这个线。
答案3
您可以安装 Perl 并使用 Net::Telnet,它允许您发送和解释接收到的数据。
ActivePerl 可能是启动和运行此功能的最快方法:
http://www.activestate.com/activeperl/
Net::Telnet 的文档记录如下:
http://search.cpan.org/~jrogers/Net-Telnet-3.03/lib/Net/Telnet.pm
有关如何使用 Net::Telnet 进行编码的更多问题可能属于 StackOverflow。您可能还想查看 www.perlmonks.org 以获取示例和提示。
答案4
如果你不介意商业解决方案,有一个名为的商业 telnet 客户端特西,具有丰富的脚本语言,可以从命令行运行。它支持用 vbs、perl 和 lua 编写脚本。它的价格相当便宜,为 34.95 美元。您还可以访问TeSSH 支持论坛。