TCL \ Expect :: Windows XP上运行的脚本未在Windows 7上运行。有什么想法吗?

时间:2014-07-31 07:31:51

标签: windows tcl expect

以下是我的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。

1 个答案:

答案 0 :(得分:1)

问题是Windows 7中的telnet.exe上没有PATH。您可能会发现PuTTY套件中的plink.exe(带有合适的选项)是可接受的替代品,但是也可能有其他人。

也可能存在telnet.exe但是(由系统)标记为无法附加调试器(这就是Expect在Windows的封面下真正起作用的方式;这是非常深刻的hackery而且我是不是它的发明者!)即使是这样,修复也是一样的:找到一个替代程序。

也可以在Tcl代码中完全模拟telnet,但是作为Telnet的很多工作是一个非常混乱的协议,终端仿真非常烦人。不是推荐的方法。