【发布时间】:2019-10-01 10:59:57
【问题描述】:
我正在尝试运行一个 Powershell 脚本,该脚本将调用一个批处理脚本,该脚本将启动一个 telnet 会话并运行以下命令:
mediaGet("gei",1)
感谢这个stackoverflow问题Is it possible to use a batch file to establish a telnet session, send a command and have the output written to a file?我写了两个脚本:
telnet.bat
start telnet.exe 162.100.10.10
cscript telnet.vbs
telnet.vbs
set OBJECT=WScript.CreateObject("WScript.Shell")
Dim cmd
cmd = "mediaGet("gei",1)
WScript.sleep 50
OBJECT.SendKeys cmd
WScript.sleep 50
OBJECT.SendKeys "{ENTER}"
WScript.sleep 50
OBJECT.SendKeys "exit{ENTER}"
WScript.sleep 5000
OBJECT.SendKeys " "
但是,当我运行脚本时,vbs 脚本无法读取变量 cmd 的字符串。所以我把它改成了这样:
cmd = "mediaGet" & chr(40) & chr(34) & "gei" & ",1" & chr(41)
但是,它仍然在 telnet 终端上这样输出:
mediaGet"gei",1
如何让它读取字符串变量中的括号? 如果脚本最终可以工作,有谁知道如何将 vbs 脚本的输出保存到日志文件中?
【问题讨论】:
标签: windows powershell vbscript command telnet