【发布时间】:2011-12-17 18:52:05
【问题描述】:
我正在尝试通过 ssh 执行命令,只获取返回命令的第一部分,并将其设置为要使用的变量。我正在尝试使用 RegExp,因为我只需要前 4 位数字,所以我使用模式代码“^\d{1,4}”我可以通过此代码成功获得整个回报;
Set WshShell = CreateObject("WScript.Shell")
Set oExec = WshShell.Exec ("ssh -un -pw command")
Do Until oExec.StdOut.AtEndOfStream
ID = oExec.StdOut.ReadLine
Loop
WScript.Echo ID
但是现在当我尝试使用 RegExp 和 echo 来查看我是否得到了我想要的结果时,我得到了一个“类型不匹配”错误
Set RegExp = New RegExp
Set WshShell = CreateObject("WScript.Shell")
Set oExec = WshShell.Exec ("ssh -un -pw command")
RegExp.Pattern = "^\d{1,4}"
Do Until oExec.StdOut.AtEndOfStream
ID = oExec.StdOut.ReadLine
WScript.Echo RegExp.execute(ID)
Loop
如果有人对代码有什么问题有任何煽动,请告诉我。如果您知道任何替代方案,我将不胜感激。使用 shell 脚本我可以得到我正在寻找的东西,但我需要用 windows 运行这个 VBS。如果有人可以将它翻译成 VBS,这里是 Shell 脚本。
.............for i in `command | sed ‘1d’ | awk ‘{print $1}’`..............
提前感谢任何帮助......我在这个问题上绞尽脑汁一段时间并且筋疲力尽。
【问题讨论】:
标签: regex shell vbscript command