SecureCRT指令碼編寫常用函數之WaitForString

來源:互聯網
上載者:User
SecureCRT指令碼編寫常用函數之WaitForString

    在我早先寫的博文裡,有寫了一些代碼,因為近段時間又接觸了一些需求,因此就想把一些常用的功能函數進行一下總結。

    作為一個高效的網管員,指令碼、編程我個人認為至少會一種,如果真不會,那至少也要會使用多種網管工具來簡化工作,提高工作效率。網管的工作很多都是機械式的,人工操作顯然是最笨的辦法。

   自從接觸到SecureCRT以來,就被其強大的編程介面所吸引,當然,像SolarWinds、KiwiSyslog等網管軟體也支援此類指令碼代碼。

   本文主要講解Screen函數的使用。指令碼語言均使用VBScript。

======================================無敵分割線==============================================

在SecureCRT裡,用得最多的應該就是crt.Screen,基本上很多操作都是基於螢幕的返回字來決定下一步的操作。

====================Screen之螢幕返回判斷====================

在判斷螢幕返回字的函數裡,主要用到的是兩個:

1、crt.Screen.WaitForString("KeyString",timeout)

2、crt.Screen.WaitForStrings("KeyString1","KeyString2",...,timeout)

---------------------WaitForString詳解--------------------

第一個函數是單字串判斷,KeyString是需要尋找的關鍵字,timeout是一個逾時閥值,例如:

crt.Screen.WaitForString("Username:",5)

該行代碼的意思就是在5秒內沒有檢測到Username:出現,就執行下一條語句,如果改成:crt.Screen.WaitForString("Username:")

那就是指直到Username:出現才執行下一行代碼。

WaitForString是有傳回值的,傳回值是True 或者 False。

因此,可以根據傳回值進行條件判斷以確定一下條代碼。例如:

  If (crt.Screen.WaitForString ("current state : UP",1)<>False) Then
   portStatus="PortUP"
  Else
   portStatus="PortDown"
  End If

這段代碼用於判斷連接埠狀態情況並記錄下來。

---------------------WaitForStrings詳解--------------------

第二個函數用於多個字串的判斷,timeout的作用是一樣的。例如:

crt.Screen.WaitForStrings("cisco","huawei","H3C",5)

意思就是在5秒內有檢測到相應的字元時,返回相應的索引號(索引號是從1開始的)。如果都沒有檢查到,則返回0.因此,該函數的使用可以如下:

Dim SwitchKey

SwitchKey=crt.Screen.WaitForStrings("cisco","huawei","H3C",5)

Select case SwitchKey

    case 1

        MsgBox "思科裝置"

    case 2

        MsgBox "華為裝置"

    case 3

        MsgBox "華三裝置"

    case else

        MsgBox "未知裝置"

End Select

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.