我正在尝试使用VBScript从命令提示符以交互方式读取输入,但我似乎无法使用readLine()读取数据以便稍后发送回复。
这是我尝试过的代码:
set OBJECT=WScript.CreateObject("WScript.Shell")
For i=1 To 500
If i=450 Then Exit For
OBJECT.SendKeys "00LI002LE99{ENTER}"
WScript.sleep 2000
dim input=ReadLine()
If input="LI002LE99" Then OBJECT.SendKeys "OK{ENTER}"
OBJECT.SendKeys "00LI002LE00{ENTER}"
WScript.sleep 2000
Next
使用此代码的想法是,如果我要在命令行上发送命令00LI002LE99
,我想发送LI002LE99
的控制台回复。如何使用readline()命令让我的脚本读取数据,然后发送相应的响应?
答案 0 :(得分:1)
我并非100%确定您为什么要这样做,但您的代码存在一些问题:
OBJECT
作为变量。dim
。您必须将其拆分为多个指令。你通常使用什么语言?Readline()
的方式只是赢了。这是您的脚本的一个工作示例,但请注意,如果您将焦点移离命令窗口,可能会发生奇怪的事情! (例如:发送键指令会将结果输出到当前焦点的任何一个窗口 - 如果你在窗口或其他东西之间切换,我认为这不是理想的结果):
Option Explicit
Dim shell, i, input
set shell=WScript.CreateObject("WScript.Shell")
For i=1 To 500
If i=450 Then Exit For
shell.SendKeys "00LI002LE99{ENTER}"
WScript.sleep 2000
input = WScript.StdIn.ReadLine()
If input="00LI002LE99" Then shell.SendKeys "OK{ENTER}"
shell.SendKeys "00LI002LE00{ENTER}"
WScript.sleep 2000
Next
祝你好运。再一次,不完全确定你在这里做了什么:)
仅供参考:Wscript.StdIn.ReadLine()将会有点受伤。