Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 在telnet中接收字符串时出错_Batch File_Vbscript_Telnet - Fatal编程技术网

Batch file 在telnet中接收字符串时出错

Batch file 在telnet中接收字符串时出错,batch-file,vbscript,telnet,Batch File,Vbscript,Telnet,嗨,我正在尝试自动化我的服务器,我使用telnet发送数据 我尝试过的代码: script.bat Batch File (named Script.bat ): :: Open a Telnet window START telnet 192.168.1.186 9760 cscript sendkeys.vbs sendkeys.vbs set OBJECT=WScript.CreateObject("WScript.Shell") For i=1 To 500 If i=

嗨,我正在尝试自动化我的服务器,我使用telnet发送数据

我尝试过的代码:

script.bat

Batch File (named Script.bat ):
     :: Open a Telnet window
START telnet 192.168.1.186 9760
cscript sendkeys.vbs 
sendkeys.vbs

set OBJECT=WScript.CreateObject("WScript.Shell")
For i=1 To 500
  If i=450 Then Exit For
OBJECT.SendKeys "00AC01{ENTER}" 
WScript.sleep 2000 

OBJECT.SendKeys "00AC01{ENTER}" 
WScript.sleep 2000 
Next
我无法接收整个字符串00AC01,
请帮助我解决这个问题。

我相信vbscript中的SendKeys命令将输出到调用vbs文件的窗口,而不是telnet窗口。类似的方法可能会奏效:

Set WshShell = WScript.CreateObject("WScript.Shell")

WScript.Sleep 2000
WshShell.SendKeys "telnet 192.168.1.186 9760"

OBJECT.SendKeys "00AC01{ENTER}" 
WScript.sleep 2000 

您的批处理文件只需要包含对vbs文件的调用,因此我认为您不需要批处理文件。

我只是在我的服务器中接收到一个字符,而不是使用此脚本或您的脚本?您的脚本。.实际上,我正在运行自己的服务器,为了实现自动化并发送命令,我尝试使用netcat,但这对我没有帮助。所以我尝试了这种方法。还有,为什么你的For循环出口是450,而不是仅仅将For循环更改为For i=1到450?看看foxidrive和Ansgar.Telnet脚本工具v.1.0,由Albert Yale从是另一个免费的可编写脚本的Telnet。请不要使用SendKeys来实现telnet的自动化。不幸的是,PuTTY对一些设备(如H3C交换机)使用了错误的字符编码——我不得不使用SendKeys来自动执行这些交换机的脚本,我发布了我的答案,并假设这就是一种情况。尽可能使用telnet脚本工具。