隨筆-193  評論-715  文章-1  trackbacks-0
          本Blog所有內容不得隨意轉載,版權屬于作者所有。如需轉載請與作者聯系( fastzch@163.com )。
          未經許可的轉載,本人保留一切法律權益。
          一直以來,發現有某些人完全不尊重我的勞動成果,隨意轉載,提醒一下那些人小心哪天惹上官司。


          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語句。如:

          Sub?Main

          ??condition?
          =?DoSomething()
          ??
          If?condition?=?0?Then
          ????
          '?Error,?bailout
          ????Exit?Sub
          ??
          End?If
          ???
          End?Sub

          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:?"
          ??
          End?If
          ??
          ??crt.Screen.Send?
          "user0"?&?VbCr
          ??crt.Screen.WaitForString?
          "assword:"
          ??crt.Screen.Send?
          "pwd0"?&?VbCr
          ??crt.Screen.WaitForString?
          "#"
          ??crt.Screen.Send?
          "cd?/tmp"?&?VbCr
          ??crt.Screen.WaitForString?
          "#"
          ?
          ??
          'ftp?to?Machine1
          ??crt.Screen.Send?"ftp?IP1"?&?VbCr
          ??crt.Screen.WaitForString?
          "):?"
          ??crt.Screen.Send?
          "user1"?&?VbCr
          ??crt.Screen.WaitForString?
          "assword:"
          ??crt.Screen.Send?
          "pwd1"?&?VbCr
          ??crt.Screen.WaitForString?
          "ftp>?"
          ??filename?
          =?crt.Dialog.Prompt("Please?enter?your?filename.",?"Enter?filename",?"",?false)??
          ??crt.Screen.Send?
          "cd?/tmp"?&?VbCr
          ??crt.Screen.WaitForString?
          "ftp>?"
          ??crt.Screen.Send?
          "binary"?&?VbCr
          ??crt.Screen.WaitForString?
          "ftp>?"??
          ??crt.Screen.Send?
          "put?"?+?filename?&?VbCr
          ??crt.Screen.WaitForString?
          "ftp>?"
          ??crt.Screen.Send?
          "bye"?&?VbCr
          ??crt.Screen.WaitForString?
          "#"???


          ??crt.Screen.Send?
          "telnet?IP1"?&?VbCr
          ??
          ??
          If?(Not?crt.Screen.WaitForString("ogin:?",?5))?Then
          ????crt.Screen.Send?vbCr
          ????crt.Screen.WaitForString?
          "ogin:?"
          ??
          End?If
          ??
          ??crt.Screen.Send?
          "user1"?&?VbCr
          ??crt.Screen.WaitForString?
          "assword:"
          ??crt.Screen.Send?
          "pwd1"?&?VbCr
          ??crt.Screen.WaitForString?
          ">"
          ??crt.Screen.Send?
          "cd?/tmp"?&?VbCr
          ??crt.Screen.WaitForString?
          ">"
          ??
          ??
          ??
          ??
          'ftp?to?Machine2
          ??crt.Screen.Send?"ftp?IP2"?&?VbCr
          ??crt.Screen.WaitForString?
          "):?"
          ??crt.Screen.Send?
          "user2"?&?VbCr
          ??crt.Screen.WaitForString?
          "assword:"
          ??crt.Screen.Send?
          "pwd2"?&?VbCr
          ??crt.Screen.WaitForString?
          "ftp>?"
          ??
          ??crt.Screen.Send?
          "cd?/tmp"?&?VbCr
          ??crt.Screen.WaitForString?
          "ftp>?"
          ??crt.Screen.Send?
          "binary"?&?VbCr
          ??crt.Screen.WaitForString?
          "ftp>?"??
          ??crt.Screen.Send?
          "put?"?+?filename?&?VbCr
          ??crt.Screen.WaitForString?
          "ftp>?"
          ??crt.Screen.Send?
          "bye"?&?VbCr
          ??crt.Screen.WaitForString?
          ">"???


          ??crt.Screen.Send?
          "telnet?IP2"?&?VbCr
          ??
          If?(Not?crt.Screen.WaitForString("ogin:?",?5))?Then
          ????crt.Screen.Send?vbCr
          ????crt.Screen.WaitForString?
          "ogin:?"
          ??
          End?If
          ??crt.Screen.Send?
          "user2"?&?VbCr
          ??crt.Screen.WaitForString?
          "assword:"
          ??crt.Screen.Send?
          "pwd2"?&?VbCr
          ??crt.Screen.WaitForString?
          "#"
          ??crt.Screen.Send?
          "cd?/tmp"?&?VbCr
          ??crt.Screen.WaitForString?
          "#"
          ??
          ??
          ??
          ??
          ??
          ??
          ????
          'ftp??to?Machine3
          ??crt.Screen.Send?"ftp?IP3"?&?VbCr
          ??crt.Screen.WaitForString?
          "):?"
          ??crt.Screen.Send?
          "user3"?&?VbCr
          ??crt.Screen.WaitForString?
          "assword:"
          ??crt.Screen.Send?
          "pwd3"?&?VbCr
          ??crt.Screen.WaitForString?
          "ftp>?"
          ?
          ??crt.Screen.Send?
          "cd?/tmp"?&?VbCr
          ??crt.Screen.WaitForString?
          "ftp>?"
          ??crt.Screen.Send?
          "binary"?&?VbCr
          ??crt.Screen.WaitForString?
          "ftp>?"??
          ??crt.Screen.Send?
          "put?"?+?filename?&?VbCr
          ??crt.Screen.WaitForString?
          "ftp>?"
          ??crt.Screen.Send?
          "bye"?&?VbCr
          ??crt.Screen.WaitForString?
          "#"???


          ??crt.Screen.Send?
          "telnet?IP3"?&?VbCr
          ??
          ??
          If?(Not?crt.Screen.WaitForString("ogin:?",?5))?Then
          ????crt.Screen.Send?vbCr
          ????crt.Screen.WaitForString?
          "ogin:?"
          ??
          End?If
          ??
          ??crt.Screen.Send?
          "user3"?&?VbCr
          ??crt.Screen.WaitForString?
          "assword:"
          ??crt.Screen.Send?
          "pwd3"?&?VbCr
          ??crt.Screen.WaitForString?
          "#"
          ??crt.Screen.Send?
          "cd?/tmp"?&?VbCr
          ??crt.Screen.WaitForString?
          "#"
          ??
          ??
          ??
          ??
          ??
          ????
          'ftp??to?Machine4
          ??crt.Screen.Send?"ftp?IP4"?&?VbCr
          ??crt.Screen.WaitForString?
          "):?"
          ??crt.Screen.Send?
          "user4"?&?VbCr
          ??crt.Screen.WaitForString?
          "assword:"
          ??crt.Screen.Send?
          "pwd4"?&?VbCr
          ??crt.Screen.WaitForString?
          "ftp>?"

          ??crt.Screen.Send?
          "binary"?&?VbCr
          ??crt.Screen.WaitForString?
          "ftp>?"??
          ??crt.Screen.Send?
          "put?"?+?filename?&?VbCr
          ??crt.Screen.WaitForString?
          "ftp>?"
          ??crt.Screen.Send?
          "bye"?&?VbCr
          ??crt.Screen.WaitForString?
          "#"???


          ??crt.Screen.Send?
          "telnet?IP4"?&?VbCr
          ??
          ??
          If?(Not?crt.Screen.WaitForString("ogin:?",?5))?Then
          ????crt.Screen.Send?vbCr
          ????crt.Screen.WaitForString?
          "ogin:?"
          ??
          End?If
          ??
          ??crt.Screen.Send?
          "user4"?&?VbCr
          ??crt.Screen.WaitForString?
          "assword:"
          ??crt.Screen.Send?
          "pwd4"?&?VbCr
          ??crt.Screen.WaitForString?
          ">"
          ??
          ??
          ??crt.Screen.Synchronous?
          =?False

          End?Sub


          ?

          posted on 2008-09-29 12:51 Robin's Programming World 閱讀(9169) 評論(4)  編輯  收藏 所屬分類: 其它

          評論:
          # re: SecureCRT Script 學習筆記 2008-12-16 16:09 | 白雪
          這么好的文章怎么沒人支持呢?

          先頂一下再看!
            回復  更多評論
            
          # re: SecureCRT Script 學習筆記[未登錄] 2009-06-08 09:52 | randy
          確實是好東西,不過有沒有關于循環語句之類的范例?  回復  更多評論
            
          # re: SecureCRT Script 學習筆記 2009-08-23 16:33 | hmc
          好]
            回復  更多評論
            
          # re: SecureCRT Script 學習筆記 2009-11-05 19:36 | Learnero
          @randy
          關于循環語句之類的可以看下VBScript的教程。  回復  更多評論
            
          主站蜘蛛池模板: 崇阳县| 江安县| 金门县| 安溪县| 将乐县| 深泽县| 岫岩| 牡丹江市| 大关县| 南宫市| 颍上县| 东方市| 岫岩| 聂拉木县| 长春市| 修武县| 商丘市| 顺昌县| 新化县| 琼海市| 蓝山县| 通城县| 东光县| 台南市| 米脂县| 红河县| 武汉市| 上高县| 龙岩市| 班玛县| 高唐县| 鞍山市| 八宿县| 朝阳县| 华容县| 岐山县| 锡林浩特市| 岳阳市| 云南省| 阳原县| 滁州市|