主頁(yè) > 知識(shí)庫(kù) > 靈活實(shí)用VBS入門(mén)教程應(yīng)用篇

靈活實(shí)用VBS入門(mén)教程應(yīng)用篇

熱門(mén)標(biāo)簽:檢查注冊(cè)表項(xiàng) 服務(wù)器配置 呼叫中心市場(chǎng)需求 智能手機(jī) 網(wǎng)站文章發(fā)布 銀行業(yè)務(wù) 美圖手機(jī) 鐵路電話(huà)系統(tǒng)
上一篇文章我們了解了VBS編程的一些基礎(chǔ)知識(shí),要更深入地學(xué)習(xí)還要學(xué)習(xí)選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。

  選擇結(jié)構(gòu)

  選擇結(jié)構(gòu),即是對(duì)條件進(jìn)行判斷,然后根據(jù)判斷的結(jié)果,選擇執(zhí)行不同的分支的結(jié)構(gòu)。常見(jiàn)的有IF條件語(yǔ)句和Select Case語(yǔ)句。

  ●IF條件語(yǔ)句
  IF條件語(yǔ)句又有多種具體的形式,如If…Then、If…Then…Else、If…Then…ElseIf。下面分別用例程來(lái)說(shuō)明。用筆記本編寫(xiě)一個(gè)如下內(nèi)容的VBS腳本:

  dim a,b
  a=inputbox("輸入第一個(gè)數(shù)字","輸入")
  b=inputbox("輸入第二個(gè)數(shù)字","輸入")
  if a>b then
  MsgBox("第一個(gè)數(shù)大于第二個(gè)數(shù)")
  End if

  運(yùn)行后,要求用戶(hù)輸入兩個(gè)數(shù)字,第一個(gè)數(shù)字的值賦給a,第二個(gè)數(shù)字的值賦給b,然后程序自動(dòng)判斷a和b,如果a的值大于b的值,就彈出信息提示框,顯示“第一個(gè)數(shù)大于第二個(gè)數(shù)”。注意:then后面的語(yǔ)句不與then在同一行時(shí),判斷語(yǔ)句結(jié)束后要加一行End if來(lái)結(jié)束,否則程序會(huì)結(jié)束。如果是同一行的就不用再加上End if了,如上面的語(yǔ)句可改為:
  dim a,b
  a=inputbox("輸入第一個(gè)數(shù)字","輸入")
  b=inputbox("輸入第二個(gè)數(shù)字","輸入")
  if a>b then MsgBox("第一個(gè)數(shù)大于第二個(gè)數(shù)")
  另外一個(gè)程序中可以用多個(gè)If語(yǔ)句,我們可以把上面的程序完善一下如下:
  dim a,b
  a=inputbox("輸入第一個(gè)數(shù)字","輸入")
  b=inputbox("輸入第二個(gè)數(shù)字","輸入")
  If a>b then
  MsgBox("第一個(gè)數(shù)大于第二個(gè)數(shù)")
  End if
  If a=b then
  MsgBox(“第一個(gè)數(shù)等于第二個(gè)數(shù)”)
  End if
  If ab then
  MsgBox(“第一個(gè)數(shù)小于第二個(gè)數(shù)”)
  End if
  我們也可以再換用IF的其它語(yǔ)句If…Then…Else和If…Then….Elseif來(lái)實(shí)現(xiàn)相同的作用,如下:
  dim a,b
  a=inputbox("輸入第一個(gè)數(shù)字","輸入")
  b=inputbox("輸入第二個(gè)數(shù)字","輸入")
  If a>b then
  MsgBox("第一個(gè)數(shù)大于第二個(gè)數(shù)")
  Else
  IF a=b then
  MsgBox(“第一個(gè)數(shù)等于第二個(gè)數(shù)”)
  Else 
  MsgBox(“第一個(gè)數(shù)小于第二個(gè)數(shù)”)
  End if
  End if
  ――――――――――――――――――――――――――――――――――――――
  dim a,b
  a=inputbox("輸入第一個(gè)數(shù)字","輸入")
  b=inputbox("輸入第二個(gè)數(shù)字","輸入")
  If a>b then
  MsgBox("第一個(gè)數(shù)大于第二個(gè)數(shù)")
  Elseif a=b then
  MsgBox(“第一個(gè)數(shù)等于第二個(gè)數(shù)”)
  Else
  MsgBox(“第一個(gè)數(shù)小于第二個(gè)數(shù)”)
  End if
  
  ●Select Case語(yǔ)句
  Select Case語(yǔ)句是多分支結(jié)構(gòu)的另一種表示形式,它具有表示直觀的特點(diǎn),結(jié)構(gòu)簡(jiǎn)單,不容易導(dǎo)致混亂,它的語(yǔ)法形式如下:
  Select Case 變量或表達(dá)式
  Case 表達(dá)式1
   語(yǔ)句1
  Case 表達(dá)式2
   語(yǔ)句2
  End Select

  現(xiàn)在我們用Select Case語(yǔ)句來(lái)寫(xiě)一個(gè)數(shù)字轉(zhuǎn)換成英文的程序,體驗(yàn)一下Select Case的優(yōu)點(diǎn),Let's go?。?!

  dim a
  a=inputbox("輸入一個(gè)數(shù)字","輸入")
  Select Case a
   Case 1 
   MsgBox("你輸入的數(shù)英文是One")
   Case 2
   MsgBox("你輸入的數(shù)英文是Two")
   Case 3
   MsgBox("你輸入的數(shù)英文是Tree")
   Case 4
   MsgBox("你輸入的數(shù)英文是Four")
  End Select

  從上面,是不是覺(jué)得Select Case語(yǔ)句很直觀呢,如果用If語(yǔ)句的話(huà),肯定會(huì)很混亂,甚至?xí)讶硕冀o看暈了。還要注意的是無(wú)論是條件語(yǔ)句有多少個(gè)分支,只要一個(gè)分支執(zhí)行了,其余的分支就不再執(zhí)行。
  
  循環(huán)結(jié)構(gòu)

  ●For循環(huán)語(yǔ)句
  For語(yǔ)句是用來(lái)控制循環(huán)次數(shù)已知的循環(huán)結(jié)構(gòu)的,語(yǔ)句如下:
   For 循環(huán)變量=初值 To 終值 [步長(zhǎng)]
    語(yǔ)句
  [Exit for] '退出循環(huán)語(yǔ)句
  Next
  現(xiàn)在我們編寫(xiě)一個(gè)計(jì)算從1加到100的整數(shù)和的程序,深入去了解For的用法,程序內(nèi)容如下:

  dim s
  s=0
  for i=1 to 100
  s=s+i
  next
  msgbox(s)

  這段程序也是經(jīng)典的程序之一,它首先聲明了一個(gè)變量S,然后給S賦個(gè)初始值0,for i=1 to 100語(yǔ)句讓i隨著每一次循環(huán)加1,循環(huán)體內(nèi)的語(yǔ)句s=s+i也隨著i的增加進(jìn)行累加,一直加到i=100時(shí)結(jié)束循環(huán)。Next語(yǔ)句讓循環(huán)體進(jìn)入下一次循環(huán)。
  
  ●Do…loop循環(huán)語(yǔ)句
  For循環(huán)語(yǔ)句用于控制循環(huán)次數(shù)已知的循環(huán),而Do…loop則是用于控制次數(shù)未知的循環(huán),根據(jù)設(shè)定的條件控制循環(huán)。它有兩種形式,一種是先判斷后執(zhí)行,另一形式是先執(zhí)行后判斷。
  先判斷后執(zhí)行語(yǔ)法形式:
  Do [while/until 條件]
    語(yǔ)句
  [Exit Do] ‘退出循環(huán)
  Loop
  
  先執(zhí)行后判斷語(yǔ)法形式:
  Do
   語(yǔ)句
  [Exit Do]
  Loop [while/until 條件]
  下面我們用Do…Loop語(yǔ)句來(lái)改寫(xiě)上面的計(jì)算1到100的整數(shù)和的程序,如下:

  先執(zhí)行后判斷式
  dim s
  s=0
  i=0
  do
  i=i+1
  s=s+i
  loop until i>=100
  msgbox(s)

  先判斷后執(zhí)行式:
  dim s
  s=0
  i=0
  do while s100
  i=i+1
  s=s+i
  loop
  msgbox(s)

  這兩段程序很簡(jiǎn)單,很容易理解,在此就不再贅述了。
  至此,VBS重要的語(yǔ)法結(jié)構(gòu)以及語(yǔ)句已經(jīng)粗略學(xué)習(xí)完畢,要更加深入細(xì)致系統(tǒng)地去研究,最好找相關(guān)的書(shū)籍看一下。下面將正式進(jìn)行VBS編程網(wǎng)吧實(shí)戰(zhàn)階段。

實(shí)戰(zhàn)篇

  進(jìn)行“實(shí)戰(zhàn)”前我們先來(lái)理解什么是Shell對(duì)象和WSH。Shell對(duì)象就是微軟對(duì)一些常用外殼操作函數(shù)的封裝。象打開(kāi)或?yàn)g覽一個(gè)文件夾、查找文件、關(guān)閉計(jì)算機(jī)等等,而且還能瀏覽整個(gè)文件系統(tǒng),獲取文件或文件夾的各種信息。由于這些封裝是建立在OLE自動(dòng)化服務(wù)的基礎(chǔ)之上,所以我們可以在VB、Web和VBS中方便的使用它們。WSH是Windows Script Host的縮寫(xiě)形式,WSH是Windows平臺(tái)的腳本指令,它的功能十分強(qiáng)大,并且它利用JS和VBS腳本語(yǔ)言,來(lái)實(shí)現(xiàn)其卓越的功能的,除了修改注冊(cè)表之外,它還可以訪問(wèn)Excel文件,也能與網(wǎng)絡(luò)溝通,當(dāng)然它最大的優(yōu)勢(shì)莫過(guò)于它能與操作系統(tǒng)溝通,而修改注冊(cè)表只是它與操作系統(tǒng)溝通的冰山一角。正是它有如此諸多的優(yōu)點(diǎn)與實(shí)用性,正倍受很多Windows用戶(hù)的青睞。

  上面說(shuō)了WSH利用VBS可以修改系統(tǒng)注冊(cè)表,但必須先創(chuàng)建一個(gè)能與操作系統(tǒng)溝通的對(duì)象,再利用該對(duì)象的各種方法對(duì)注冊(cè)表進(jìn)行操作,創(chuàng)建這個(gè)對(duì)象的方法和格式如下:

  Dim OperateReg
  Set OperateReg=WScript.CreateObject("WScript.Shell")
  上面第一行聲明了一個(gè)變量,而第二行則是利用聲明的變量創(chuàng)建一個(gè)能與操作系統(tǒng)溝通的Shell對(duì)象OperateReg。

  下面就來(lái)利用Shell對(duì)象來(lái)關(guān)閉一些會(huì)給網(wǎng)吧機(jī)子帶來(lái)安全隱患的服務(wù)吧。

  關(guān)閉默認(rèn)共享
  set ds=createobject("wscript.shell")
  ds.run "net stop server /y"

  關(guān)閉WMI服務(wù)
  set swmi=createobject("wscript.shell")
  swmi.run "net stop wmI /y"

  禁用GUEST用戶(hù)
  set sg=createobject("wscript.shell")
  sg.run "net user guest /active:NO"

  關(guān)閉telnet服務(wù)
  set st=createobject("wscript.shell")
  st.run "net stop telnet"
  
  利用VBS 實(shí)現(xiàn)開(kāi)機(jī)BAT延時(shí)和無(wú)黑屏
  如果我們開(kāi)機(jī)要執(zhí)行名為bar.bat的批處理文件在遠(yuǎn)程服務(wù)器\\server\new\&;中那么就在客戶(hù)機(jī)的C盤(pán)根目錄下建個(gè)批處理,將他命名為run.bat,內(nèi)容如下:
  ping 127.0.0.1 -n 10  (10表示你要延時(shí)的秒數(shù) 自己根據(jù)需要進(jìn)行設(shè)置)
  call \\server\new\bar.bat
  
  保存后再在同目錄下建個(gè)文本寫(xiě)上 
  set nb=createobject("wscript.shell")
  nb.run "run.bat /start",0
  保存成VBS文件然后將此文件加入到啟動(dòng)項(xiàng),重啟BAT延時(shí)和無(wú)黑屏就這樣實(shí)現(xiàn)了。

  以上都是VBS的一些簡(jiǎn)單的編程而已,如果能把VBS學(xué)到精通的話(huà),你會(huì)發(fā)現(xiàn)它的功能非常的強(qiáng)大,很多復(fù)雜的功能都可以通過(guò)它來(lái)實(shí)現(xiàn)?,F(xiàn)在很多網(wǎng)管都很樂(lè)于采用VBS編程來(lái)對(duì)網(wǎng)吧的機(jī)器進(jìn)行管理。本系列三篇文章僅僅是對(duì)VBS進(jìn)行了簡(jiǎn)單的了解和實(shí)例應(yīng)用,大家要想更深入地去學(xué)習(xí),還要靠平時(shí)的努力和積累,最后,祝大家早日可以把VBS學(xué)得爐火純青。

標(biāo)簽:沈陽(yáng) 長(zhǎng)治 新疆 河南 上海 樂(lè)山 滄州 紅河

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《靈活實(shí)用VBS入門(mén)教程應(yīng)用篇》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話(huà)咨詢(xún)

    • 400-1100-266