以下是我的TCL / Expect脚本:
package require Expect
spawn telnet 2.2.2.10
expect "*ogin:"
send "admin\r"
expect "*word:"
send "test\r"
expect "*>"
send "enable\r"
expect "*#"
以上脚本在“Windows XP”机器中运行。但是当我在“Windows 7”中运行相同的脚本时,它会抛出以下错误:
C:\Users\test\Desktop>tclsh 3_AP_collect_sign.tcl
The system cannot find the file specified.
while executing
"spawn telnet 2.2.2.10"
(file "3_AP_collect_sign.tcl" line 6)
C:\Users\Symbol\Desktop>
请帮我在“Windows 7”机器上运行此脚本。我应该添加任何东西在Windows 7中运行吗?在此先感谢。
谢谢,
Balu P。
答案 0 :(得分:1)
问题是Windows 7中的telnet.exe
上没有PATH
。您可能会发现PuTTY套件中的plink.exe
(带有合适的选项)是可接受的替代品,但是也可能有其他人。
也可能存在telnet.exe
但是(由系统)标记为无法附加调试器(这就是Expect在Windows的封面下真正起作用的方式;这是非常深刻的hackery而且我是不是它的发明者!)即使是这样,修复也是一样的:找到一个替代程序。
也可以在Tcl代码中完全模拟telnet,但是作为Telnet的很多工作是一个非常混乱的协议,终端仿真非常烦人。不是推荐的方法。