为了工作方便,自己学写了一段VBS脚本,用于配置设备参数。使用了字符串的读取和发送函数。 逐行读取,依次发送。我的脚本对于行数少于28行的文本,执行和处理都没有多大问题。 但是只要单个文本大于28行,就会再发送28行或29行时,出现丢行或字符混乱现象。 如,在发送第28行时,明明文本中是“OFF”,却发送的“0”或者其他,或丢失之后的其他行字符串,出现卡死在那里的现象。 请高手指教一二!不胜感谢! 以下是脚本! ========================================= # $language = "VBScript" # $interface = "1.0" crt.Screen.Synchronous = False DIM StrPath,Line,YA,TEXT Dim Count:NAME = 0 Sub main Const WINDOW_HANDLE = 0 Const OPTIONS = 0 Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.BrowseForFolder (WINDOW_HANDLE, "选择上传文件所在目录:"& vbcr &" ",OPTIONS,"D:SelControlSetting") Set objFolderItem = objFolder.Self StrPath = objFolderItem.Path If objFolder Is Nothing Then Exit Sub End IF Do While NAME <> 20 NAME = NAME + 1 TEXT = StrPath & "" & NAME & ".txt" set FS =createobject ("scripting.filesystemobject") IF FS.FileExists (TEXT) Then Set TS = FS.opentextfile (TEXT,1,False) Do while TS.atendofstream <> true Line = TS.readline crt.Screen.Send Line & vbcr YA = crt.Screen.WaitForStrings ("?","","=>>") IF YA = 1 OR 2 Then IF TS.atendofstream = true then Exit DO End IF ElseIF YA = 3 Then Exit DO End IF Loop IF NAME = 20 Then Exit Do End IF ElseIF Not FS.FileExists (TEXT) Then MSGBOX "发送完毕,请等待执行结束!" Exit DO End IF Loop End Sub |
发布评论
评论(2)
没有高手愿意帮忙吗?谢谢出手帮助一下小弟啊!!!!
有高手没?出来帮助一下啊!谢谢了!
注:您不嫌弃此脚本有点小问题,就尽管拿!索取了就该有有回报!