SecureCRT腳本(VBS)運行


SecureCRT腳本(VBS)運行

在SecureCRT運行腳本,自動收發數據監控記錄運行狀態。

參考:

示例代碼:

#$language = "VBScript"
#$interface = "1.0"
'====本腳本說明:=================================================
'通信測試:
'1、新建日志文件路徑修改LOG_FILE_NAME宏定義的地址
'2、使用Telnet登陸PPC后運行腳本,運行一段時間后錯誤信息將自動存儲到1中定義的文本文件,若無則測試通過。
'
const LOG_FILE_NAME="z:\secureCrt-log.txt"


'================================================================
Sub Main
'================================================================
crt.Screen.Synchronous = True
'--------------------------------
Dim erro_c
erro_c = 1


'----------------------------------------------------------------------------------1
'loop
'crt.Screen.Synchronous = False 
'crt.Sleep 1000
crt.Screen.Send "d 0xfa050100" & chr(13)
crt.Sleep 100
crt.Screen.Send "d 0xfa050100" & chr(13)
crt.Screen.waitForString "fa050100:  0000 0002 0002 28b0 0000 ffff"
crt.Screen.waitForString "value = 21 = 0x15"
crt.Sleep 100
'----------------------------------------------------------------------------------2
'Do
'INTI
crt.Screen.Send "m 0xfa05010a" & chr(13)
crt.Screen.Send "0049" & chr(13)
crt.Screen.Send "q" & chr(13)

crt.Screen.Send "m 0xfa05010a" & chr(13)
crt.Screen.Send "004E" & chr(13)
crt.Screen.Send "q" & chr(13)

crt.Screen.Send "m 0xfa05010a" & chr(13)
crt.Screen.Send "0054" & chr(13)
crt.Screen.Send "q" & chr(13)

crt.Screen.Send "m 0xfa05010a" & chr(13)
crt.Screen.Send "0049" & chr(13)
crt.Screen.Send "q" & chr(13)

Read1

RunRecd
'Loop
'-------------------------------------------
Dim var1
'定義循環次數
var1=5
Const Delay1 = 10
Do 
'----------------------------------------------------------------------------------3
'53410000
crt.Screen.Send "m 0xfa05010a" & chr(13)
crt.Screen.Send "0053" & chr(13)
crt.Screen.Send "q" & chr(13)

crt.Screen.Send "m 0xfa05010a" & chr(13)
crt.Screen.Send "0041" & chr(13)
crt.Screen.Send "q" & chr(13)

crt.Screen.Send "m 0xfa05010a" & chr(13)
crt.Screen.Send "0080" & chr(13)
crt.Screen.Send "q" & chr(13)

crt.Screen.Send "m 0xfa05010a" & chr(13)
crt.Screen.Send "0000" & chr(13)
crt.Screen.Send "q" & chr(13)

erro_c = Read2(erro_c )
crt.Sleep Delay1 


'53410000
crt.Screen.Send "m 0xfa05010a" & chr(13)
crt.Screen.Send "0053" & chr(13)
crt.Screen.Send "q" & chr(13)

crt.Screen.Send "m 0xfa05010a" & chr(13)
crt.Screen.Send "0041" & chr(13)
crt.Screen.Send "q" & chr(13)

crt.Screen.Send "m 0xfa05010a" & chr(13)
crt.Screen.Send "0070" & chr(13)
crt.Screen.Send "q" & chr(13)

crt.Screen.Send "m 0xfa05010a" & chr(13)
crt.Screen.Send "0000" & chr(13)
crt.Screen.Send "q" & chr(13)

erro_c = Read2(erro_c )
crt.Sleep Delay1 



'53410000
crt.Screen.Send "m 0xfa05010a" & chr(13)
crt.Screen.Send "0053" & chr(13)
crt.Screen.Send "q" & chr(13)

crt.Screen.Send "m 0xfa05010a" & chr(13)
crt.Screen.Send "0041" & chr(13)
crt.Screen.Send "q" & chr(13)

crt.Screen.Send "m 0xfa05010a" & chr(13)
crt.Screen.Send "0060" & chr(13)
crt.Screen.Send "q" & chr(13)

crt.Screen.Send "m 0xfa05010a" & chr(13)
crt.Screen.Send "0000" & chr(13)
crt.Screen.Send "q" & chr(13)

erro_c = Read2(erro_c )
crt.Sleep Delay1 


'53410000
crt.Screen.Send "m 0xfa05010a" & chr(13)
crt.Screen.Send "0053" & chr(13)
crt.Screen.Send "q" & chr(13)

crt.Screen.Send "m 0xfa05010a" & chr(13)
crt.Screen.Send "0041" & chr(13)
crt.Screen.Send "q" & chr(13)

crt.Screen.Send "m 0xfa05010a" & chr(13)
crt.Screen.Send "0050" & chr(13)
crt.Screen.Send "q" & chr(13)

crt.Screen.Send "m 0xfa05010a" & chr(13)
crt.Screen.Send "0000" & chr(13)
crt.Screen.Send "q" & chr(13)

erro_c = Read2(erro_c )
crt.Sleep Delay1 

'53410000
crt.Screen.Send "m 0xfa05010a" & chr(13)
crt.Screen.Send "0053" & chr(13)
crt.Screen.Send "q" & chr(13)

crt.Screen.Send "m 0xfa05010a" & chr(13)
crt.Screen.Send "0041" & chr(13)
crt.Screen.Send "q" & chr(13)

crt.Screen.Send "m 0xfa05010a" & chr(13)
crt.Screen.Send "0040" & chr(13)
crt.Screen.Send "q" & chr(13)

crt.Screen.Send "m 0xfa05010a" & chr(13)
crt.Screen.Send "0000" & chr(13)
crt.Screen.Send "q" & chr(13)

erro_c = Read2(erro_c )
crt.Sleep Delay1 


'53410000
crt.Screen.Send "m 0xfa05010a" & chr(13)
crt.Screen.Send "0053" & chr(13)
crt.Screen.Send "q" & chr(13)

crt.Screen.Send "m 0xfa05010a" & chr(13)
crt.Screen.Send "0041" & chr(13)
crt.Screen.Send "q" & chr(13)

crt.Screen.Send "m 0xfa05010a" & chr(13)
crt.Screen.Send "0030" & chr(13)
crt.Screen.Send "q" & chr(13)

crt.Screen.Send "m 0xfa05010a" & chr(13)
crt.Screen.Send "0000" & chr(13)
crt.Screen.Send "q" & chr(13)
crt.Sleep Delay1 

erro_c = Read2(erro_c )
crt.Sleep Delay1 

'--------------------------------------------
if var1=1 then 
exit do
end if
'var1=var1-1 
Loop
'crt.Screen.Send "d 0xfa050100" & chr(13)
'crt.Sleep 1000
crt.Screen.Synchronous = False
End Sub


'=====================================

Sub Read1
crt.Sleep 100
crt.Screen.Send "d 0xfa050100" & chr(13)
crt.Screen.waitForString "0049"
crt.Screen.waitForString "value = 21 = 0x15"
crt.Sleep 500

crt.Screen.Send "d 0xfa050100" & chr(13)
crt.Screen.waitForString "004b"
crt.Screen.waitForString "value = 21 = 0x15"
crt.Sleep 500

crt.Screen.Send "d 0xfa050100" & chr(13)
crt.Screen.waitForString "004b"
crt.Screen.waitForString "value = 21 = 0x15"
crt.Sleep 500
End Sub


'=====================================
Function Read2(e_cnt)
Const Delay2 = 100
crt.Sleep 300
crt.Screen.Send "d 0xfa050100" & chr(13)
'crt.Screen.waitForString "0053"
If(crt.Screen.WaitForString ("0053",1)<>False) Then
  'Msgbox "time yes"
  crt.Screen.waitForString "value = 21 = 0x15"
Else
  ErroRecd e_cnt
  e_cnt = e_cnt + 1
  crt.Screen.Send "d 0xfa050100" & chr(13)
  crt.Screen.Send "d 0xfa050100" & chr(13)
  Read2 = e_cnt
  exit function
'Msgbox "time out"
End If
crt.Sleep Delay2 

crt.Screen.Send "d 0xfa050100" & chr(13)
'crt.Screen.waitForString "004b"
'crt.Screen.waitForString "value = 21 = 0x15"
If(crt.Screen.WaitForString ("004b",1)<>False) Then
  'Msgbox "time yes"
  crt.Screen.waitForString "value = 21 = 0x15"
Else
  ErroRecd e_cnt
  e_cnt = e_cnt + 1
  crt.Screen.Send "d 0xfa050100" & chr(13)
  crt.Screen.Send "d 0xfa050100" & chr(13)
  Read2 = e_cnt
  exit function
'Msgbox "time out"
End If
crt.Sleep Delay2 
  
crt.Screen.Send "d 0xfa050100" & chr(13)
'crt.Screen.waitForString "004b"
'crt.Screen.waitForString "value = 21 = 0x15"
If(crt.Screen.WaitForString ("004b",1)<>False) Then
  'Msgbox "time yes"
  crt.Screen.waitForString "value = 21 = 0x15"
Else
  ErroRecd e_cnt
  e_cnt = e_cnt + 1
  crt.Screen.Send "d 0xfa050100" & chr(13)
  crt.Screen.Send "d 0xfa050100" & chr(13)
  Read2 = e_cnt
  exit function
'Msgbox "time out"
End If
crt.Sleep Delay2 


Read2 = e_cnt
End Function 

'=====================================


Sub ErroRecd(e_cnt)
'創建文件對象 
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject") 
'設置文件對象 1 只讀模式;2 寫模式;8 在文件末尾進行寫操作 
Set file1 = fso.OpenTextFile(LOG_FILE_NAME,8, False) 
'file1.WriteLine("Erro"&e_cnt&":"&time)
file1.WriteLine("Erro"&e_cnt&":"&date&" | "&time)
'---------------------
file1.WriteLine("---------st-----------")
dim s
dim c
c=1
do 
s = crt.Screen.Get(c,1,c,100)
file1.WriteLine(s)
if c=50 then 
exit do
end if
c=c+1
loop
file1.WriteLine("---------end-----------")
file1.WriteLine("                       ")


'---------------------------------------
file1.Close '關閉文件
'Msgbox time
End Sub

'=======================================
Sub RunRecd
'創建文件對象 
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject") 
'設置文件對象 1 只讀模式;2 寫模式;8 在文件末尾進行寫操作 
Set file1 = fso.OpenTextFile(LOG_FILE_NAME,8, False) 
'file1.WriteLine("Erro"&e_cnt&":"&time)
file1.WriteLine("|=======================================")
file1.WriteLine("The vbs started@"&":"&date&" | "&time)
'---------------------
file1.WriteLine("                       ")
'---------------------------------------
file1.Close '關閉文件
'Msgbox time
End Sub





操作步驟:

  1. 建立通信連接
  2. 運行腳本



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM