天天看點

SecureCRT Script學習

原文連結:http://www.blogjava.net/fastzch/archive/2008/09/29/231793.html

SecureCRT支援ActiveX script engines,包括VBScript和JScript (Microsoft’s version of JavaScript)兩種腳本。

Note:如果你想使用腳本自動運作方式的話,需要在 session option中進行設定。

腳本可以用任何文本編輯器來開發。Script頭部用來識别腳本語言和SecureCRT腳 本接口的版本,腳本頭部的每一行必須以#開頭,頭部包括

$language

行和

$interface

行。 例如,下面是一個簡單的腳本。

# $language = "VBScript"

# $interface = "1.0"

Sub Main

  ' Display SecureCRT's version

  MsgBox "SecureCRT version is: " & crt.Version

End Sub

代 碼通常放在main子過程,引擎在執行main子過程前,将轉換并執行全局代碼(腳本代碼定義在任何子過程之外),如果你有一些初始化處理的話,可以使用 這一特性。

如果想終止main過程,用VBScript的話,可以用Exit Sub語句。如:

  condition = DoSomething()

  If condition = 0 Then

    ' Error, bailout

    Exit Sub

  End If

SecureCRT 有一些内建的對象,可以通過頂級應用對象或子對象調用。這些對象都有一些屬性和方法。例如:

Dim dlg

Set dlg = crt.Dialog

dlg.Prompt("Login:")

下 面分享給大家一個通過N個跳闆機上傳檔案的FTP腳本:

#$language = "VBScript"

#$interface = "1.0"

Sub main

  ' turn on synchronous mode so we don't miss any data

  crt.Screen.Synchronous = True

  ' Wait for a string that looks like "login: " or "Login: "

  ' Occasionally, a host needs to be kicked to display a

  ' login prompt.

  If (Not crt.Screen.WaitForString("ogin: ", 5)) Then

    crt.Screen.Send vbCr

    crt.Screen.WaitForString "ogin: "

  crt.Screen.Send "user0" & VbCr

  crt.Screen.WaitForString "assword:"

  crt.Screen.Send "pwd0" & VbCr

  crt.Screen.WaitForString "#"

  crt.Screen.Send "cd /tmp" & VbCr

  'ftp to Machine1

  crt.Screen.Send "ftp IP1" & VbCr

  crt.Screen.WaitForString "): "

  crt.Screen.Send "user1" & VbCr

  crt.Screen.Send "pwd1" & VbCr

  crt.Screen.WaitForString "ftp> "

  filename = crt.Dialog.Prompt("Please enter your filename.", "Enter filename", "", false)  

  crt.Screen.Send "binary" & VbCr

  crt.Screen.WaitForString "ftp> "  

  crt.Screen.Send "put " + filename & VbCr

  crt.Screen.Send "bye" & VbCr

  crt.Screen.WaitForString "#"   

  crt.Screen.Send "telnet IP1" & VbCr

  crt.Screen.WaitForString ">"

  'ftp to Machine2

  crt.Screen.Send "ftp IP2" & VbCr

  crt.Screen.Send "user2" & VbCr

  crt.Screen.Send "pwd2" & VbCr

  crt.Screen.WaitForString ">"   

  crt.Screen.Send "telnet IP2" & VbCr

    'ftp  to Machine3

  crt.Screen.Send "ftp IP3" & VbCr

  crt.Screen.Send "user3" & VbCr

  crt.Screen.Send "pwd3" & VbCr

  crt.Screen.Send "telnet IP3" & VbCr

    'ftp  to Machine4

  crt.Screen.Send "ftp IP4" & VbCr

  crt.Screen.Send "user4" & VbCr

  crt.Screen.Send "pwd4" & VbCr

  crt.Screen.Send "telnet IP4" & VbCr

  crt.Screen.Synchronous = False

繼續閱讀