国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > VBScript > 正文

靈活實用VBS入門教程應用篇

2020-06-26 18:04:17
字體:
來源:轉載
供稿:網友
上一篇文章我們了解了VBS編程的一些基礎知識,要更深入地學習還要學習選擇結構和循環結構。 

  選擇結構 

  選擇結構,即是對條件進行判斷,然后根據判斷的結果,選擇執行不同的分支的結構。常見的有IF條件語句和Select Case語句。 

  ●IF條件語句 
  IF條件語句又有多種具體的形式,如If…Then、If…Then…Else、If…Then…ElseIf。下面分別用例程來說明。用筆記本編寫一個如下內容的VBS腳本: 

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

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

  現在我們用Select Case語句來寫一個數字轉換成英文的程序,體驗一下Select Case的優點,Let's go!!! 

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

  從上面,是不是覺得Select Case語句很直觀呢,如果用If語句的話,肯定會很混亂,甚至會把人都給看暈了。還要注意的是無論是條件語句有多少個分支,只要一個分支執行了,其余的分支就不再執行。 
   
  循環結構 

  ●For循環語句 
  For語句是用來控制循環次數已知的循環結構的,語句如下: 
   For 循環變量=初值 To 終值 [步長] 
    語句 
  [Exit for] '退出循環語句 
  Next 
  現在我們編寫一個計算從1加到100的整數和的程序,深入去了解For的用法,程序內容如下: 

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

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

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

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

  這兩段程序很簡單,很容易理解,在此就不再贅述了。 
  至此,VBS重要的語法結構以及語句已經粗略學習完畢,要更加深入細致系統地去研究,最好找相關的書籍看一下。下面將正式進行VBS編程網吧實戰階段。 

實戰篇 

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

  上面說了WSH利用VBS可以修改系統注冊表,但必須先創建一個能與操作系統溝通的對象,再利用該對象的各種方法對注冊表進行操作,創建這個對象的方法和格式如下: 

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

  下面就來利用Shell對象來關閉一些會給網吧機子帶來安全隱患的服務吧。 

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

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

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

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

  以上都是VBS的一些簡單的編程而已,如果能把VBS學到精通的話,你會發現它的功能非常的強大,很多復雜的功能都可以通過它來實現。現在很多網管都很樂于采用VBS編程來對網吧的機器進行管理。本系列三篇文章僅僅是對VBS進行了簡單的了解和實例應用,大家要想更深入地去學習,還要靠平時的努力和積累,最后,祝大家早日可以把VBS學得爐火純青。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 离岛区| 巴林右旗| 寿阳县| 庆元县| 罗城| 北碚区| 天柱县| 孝义市| 蓝山县| 周宁县| 云阳县| 保德县| 乌什县| 钟祥市| 新宾| 黑山县| 克拉玛依市| 老河口市| 政和县| 绥中县| 张掖市| 五原县| 梁平县| 西青区| 大方县| 利津县| 清远市| 杨浦区| 剑河县| 启东市| 古田县| 阳新县| 彭水| 都兰县| 天津市| 沐川县| 南开区| 新和县| 南部县| SHOW| 绥阳县|