為了作業方便,自己學寫了一段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:\SelControl\Setting\")
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
uj5u.com熱心網友回復:
有高手沒?出來幫助一下啊!謝謝了!注:您不嫌棄此腳本有點小問題,就盡管拿!索取了就該有有回報!
uj5u.com熱心網友回復:
沒有高手嗎?謝謝出手幫助一下小弟啊!uj5u.com熱心網友回復:
樓主后來找到原因了嗎,我也遇到這個問題了,能分享下解決方法嗎?轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/87512.html
標籤:系統維護與使用區
