![适用于 Windows 的可编写脚本的 telnet 客户端?](https://linux22.com/image/1536854/%E9%80%82%E7%94%A8%E4%BA%8E%20Windows%20%E7%9A%84%E5%8F%AF%E7%BC%96%E5%86%99%E8%84%9A%E6%9C%AC%E7%9A%84%20telnet%20%E5%AE%A2%E6%88%B7%E7%AB%AF%EF%BC%9F.png)
我正在寻找一个 telnet 客户端,它可以通过按下热键或按下按钮来发送命令,包括控制代码,例如下面的序列。有没有可以做到这一点的免费程序?ZOC Term 可以做到这一点,但它是商业软件。我经常输入这些命令,如果能有一些自动化功能就更好了,尤其是因为它们区分大小写。命令会根据问题/工单而变化,并且可以在单个系统上运行多组命令,否则我会使用 plink。
我登录的系统有很多,它们每天都会根据新开票而变化,而且它们都有不同的密码,所以我必须手动登录。我需要通过脚本发送一些命令,然后保持登录状态以输入其他命令。此外,根据票证的不同,命令也会有所不同。我基本上是在寻找 Emtec ZOC,但它是开源形式;它支持运行不同命令的不同按钮。如果我需要创建一个进出脚本,其中脚本登录、发出命令和注销,我会使用 PuTTY 的 plink 工具。
Return CurrentState ^J
^J
在上面的例子中是Ctrl+ J。
答案1
答案2
我已经好几年没有为 Windows 系统编写过 telnet 脚本了,但我过去使用的是免费的Telnet 脚本工具,这是由 Albert Yale 编写的命令行程序。我假设您使用上面的 Ctrl-J 发送换行符 (LF),即十六进制的 0A。您可以在使用该工具时编写回车/换行符 (CR/LF) 脚本\m
,这可能符合您的需要(使用说明(如果您运行该程序时没有选项,它也会显示在窗口中)。用于自动传输文本和其他控制字符,您可以创建一个脚本文件,例如 script.txt,然后使用/r
命令的选项让其运行该脚本,即tst10.exe /r:script.txt.
您可以使用免费的十六进制编辑器如那个免费软件十六进制编辑器 XVI32创建一个包含任意字符串和控制字符的脚本文件,例如为 Ctrl-J 插入十六进制 0A,您需要通过 Telnet 发送。
答案3
我建议将 AutoHotkey 与 PuTTY 等程序一起使用。AutoHotkey 基本上包含一种内置编程语言,因此具有一定的灵活性。我使用 AutoHotkey 的目的是自动运行 PuTTY 并在某个站点上运行命令。一旦我启动 Autohotkey 脚本,我就可以将 PuTTY 置于后台并在计算机上执行其他操作,并确信所需的击键将进入所需的程序 (PuTTY),而不仅仅是我当时在前台运行的任何应用程序。
缺点是,目前我还没有充分使用它来弄清楚如何从屏幕上读取信息。但对于仅输出(和睡眠),它运行良好。它还提供了您喜欢的键盘绑定的灵活性。