Board logo

标题: [问题求助] VBS为何无法读取到文本的指定行内容? [打印本页]

作者: george0811    时间: 2016-1-5 21:30     标题: VBS为何无法读取到文本的指定行内容?

本帖最后由 pcl_test 于 2016-1-5 22:00 编辑

问题:我想用VB编个SecureCRT 5.1脚本,目的是在弹窗中输入设备号就能自动输入相对应的MAC地址。但是我自己编的脚本只在输入设备号为1时,自动输入相对应MAC:031001。但输入2或者3都直接报错 "错误的设备号,请核对" 。求大神解答
脚本如下:
  1. # $language = "VBScript"
  2. # $interface = "1.0"
  3. Sub Main
  4. On Error Resume Next
  5. Const ForReading = 1, ForWriting = 2, ForAppending = 8
  6. Dim fso,MAC1,line,params
  7. Dim DeviceNo
  8. Set fso = CreateObject("Scripting.FileSystemObject")
  9. Set MAC1 = fso.OpenTextFile("c:\2.ini",Forreading, False)
  10. crt.Screen.Synchronous = True
  11.      
  12. line = MAC1.ReadLine
  13. params = Split (line)
  14. crt.Screen.WaitForString "或批处理文件。"
  15. DeviceNo = inputbox("请输入设备号","设备号输入对话框")
  16. If DeviceNo = params(0) Then
  17. crt.Screen.Send params(1) & vbcr
  18. Else
  19.    MsgBox "错误的设备号,请核对"
  20.                End If
  21.     crt.Screen.Synchronous = False   
  22. End Sub
复制代码
2.ini文件中格式如下:
1 031001
2 031002
3 031003
作者: pcl_test    时间: 2016-1-5 21:58

加个遍历
  1. Set fso = CreateObject("Scripting.FileSystemObject")
  2. Set f = fso.OpenTextFile("C:\2.ini", 1)
  3. n = inputbox("请输入设备号","设备号输入对话框")
  4. Do While f.AtEndOfStream <> True
  5.     t = Split(f.ReadLine)
  6.     If n=t(0) Then msgbox t(1)
  7. Loop
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2