VBscript以远程登录具有可变时间戳的字符串

VBscript以远程登录具有可变时间戳的字符串,vbscript,telnet,unix-timestamp,sendkeys,Vbscript,Telnet,Unix Timestamp,Sendkeys,我正在尝试建立到服务器上侦听端口的telnet连接,并发送各种数据字符串,其中一个应该是unix时间戳。下面是我尝试做的一个例子: Set cloner = CreateObject("WScript.Shell") cloner.run"cmd" WScript.Sleep 500 cloner.SendKeys"telnet 192.168.1.7 6996" cloner.SendKeys("{Enter}") cloner.SendKeys"__BEGIN__" cloner.Sen

我正在尝试建立到服务器上侦听端口的telnet连接,并发送各种数据字符串,其中一个应该是unix时间戳。下面是我尝试做的一个例子:

Set cloner = CreateObject("WScript.Shell")
cloner.run"cmd"
WScript.Sleep 500

cloner.SendKeys"telnet 192.168.1.7 6996"
cloner.SendKeys("{Enter}")

cloner.SendKeys"__BEGIN__"
cloner.SendKeys("{Enter}")

cloner.SendKeys"__1347042718__"
cloner.SendKeys("{Enter}")

cloner.SendKeys"         1     0                 2      0          "
cloner.SendKeys("{Enter}")

cloner.SendKeys"__END__"
cloner.SendKeys("{Enter}")
现在,这就像一个符咒,但我现在想用以下结果替换____之间的静态时间戳(1347042718):

WScript.Echo DateDiff("s", "01/01/1970 00:00:00", Now()) - -4 * 3600
此外,在上面提到的初始字符串集之后,我想每隔30秒发送一个新的_uuu时间戳_uu字符串。有没有办法循环sendkeys命令

我对脚本编写知之甚少,所以越详细越好。:)


非常感谢您提供的任何帮助。

当然,您可以像任何其他命令一样循环
SendKeys()

Do
  timestamp = DateDiff("s", #01/01/1970#, Now) + 4 * 3600
  cloner.SendKeys "__" & timestamp & "__"
  cloner.SendKeys "{Enter}"
  WScript.Sleep 30000
Loop While True

哇,非常感谢!这正是我需要的。尽管出现了另一个问题:)但我不知道无论桌面上的活动应用程序如何,都会执行sendkeys命令。因此,一旦telnet窗口不活动,我就有问题了。理想情况下,我希望在后台运行一个脚本,它可以永远毫无表情地运行。有办法做到这一点吗?可能sendkeys命令不正确。批处理文件与某些vbscript引用的组合?感谢您的宝贵见解。您可以使用此方法在发送击键之前将窗口置于前台。然而,
SendKeys
一开始是一种相当不可靠的方法。据我所知,它提供了一种更强大的自动化此类任务的方法。不过我自己从来没用过。