隨筆-193  評(píng)論-715  文章-1  trackbacks-0
          本Blog所有內(nèi)容不得隨意轉(zhuǎn)載,版權(quán)屬于作者所有。如需轉(zhuǎn)載請(qǐng)與作者聯(lián)系( fastzch@163.com )。
          未經(jīng)許可的轉(zhuǎn)載,本人保留一切法律權(quán)益。
          一直以來(lái),發(fā)現(xiàn)有某些人完全不尊重我的勞動(dòng)成果,隨意轉(zhuǎn)載,提醒一下那些人小心哪天惹上官司。


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

          Note:如果你想使用腳本自動(dòng)運(yùn)行方式的話,需要在session?option中進(jìn)行設(shè)置。

          腳本可以用任何文本編輯器來(lái)開發(fā)。Script頭部用來(lái)識(shí)別腳本語(yǔ)言和SecureCRT腳本接口的版本,腳本頭部的每一行必須以#開頭,頭部包括$language行和$interface行。例如,下面是一個(gè)簡(jiǎn)單的腳本。
          #?$language?=?"VBScript"
          #?$interface?
          =?"1.0"

          Sub?Main
          ??
          '?Display?SecureCRT's?version
          ??MsgBox?"SecureCRT?version?is:?"?&?crt.Version
          End?Sub

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

          如果想終止main過(guò)程,用VBScript的話,可以用Exit Sub語(yǔ)句。如:

          Sub?Main

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

          SecureCRT有一些內(nèi)建的對(duì)象,可以通過(guò)頂級(jí)應(yīng)用對(duì)象或子對(duì)象調(diào)用。這些對(duì)象都有一些屬性和方法。例如:

          Dim?dlg
          Set?dlg?=?crt.Dialog
          dlg.Prompt(
          "Login:")



          下面分享給大家一個(gè)通過(guò)N個(gè)跳板機(jī)上傳文件的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 閱讀(9163) 評(píng)論(4)  編輯  收藏 所屬分類: 其它

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

          先頂一下再看!
            回復(fù)  更多評(píng)論
            
          # re: SecureCRT Script 學(xué)習(xí)筆記[未登錄] 2009-06-08 09:52 | randy
          確實(shí)是好東西,不過(guò)有沒有關(guān)于循環(huán)語(yǔ)句之類的范例?  回復(fù)  更多評(píng)論
            
          # re: SecureCRT Script 學(xué)習(xí)筆記 2009-08-23 16:33 | hmc
          # re: SecureCRT Script 學(xué)習(xí)筆記 2009-11-05 19:36 | Learnero
          @randy
          關(guān)于循環(huán)語(yǔ)句之類的可以看下VBScript的教程。  回復(fù)  更多評(píng)論
            
          主站蜘蛛池模板: 五家渠市| 正阳县| 河北省| 莲花县| 乳源| 通化县| 定边县| 乌兰察布市| 乌拉特前旗| 玛多县| 长岛县| 安平县| 绍兴县| 乌拉特后旗| 灌云县| 浮山县| 中西区| 新晃| 鹿邑县| 长宁区| 连南| 滁州市| 武穴市| 珲春市| 平安县| 南川市| 四平市| 潍坊市| 稻城县| 尚义县| 宜昌市| 桐梓县| 阿坝| 淳化县| 鄯善县| 科技| 双城市| 保定市| 安达市| 磴口县| 将乐县|