VBS腳本基礎(chǔ)語法實例講解
引言
最近在學(xué)習(xí)VBS語言的時候,搜索了不少資料,但是往往只是介紹一下什么整人代碼、表白代碼之類的,很少有基礎(chǔ)的語法講解,因此,我在這里寫一篇博文來進(jìn)行一下VBS基礎(chǔ)語法的講解。
一、編輯VBS的相關(guān)軟件
對于基于VBS的編程,我們可以直接使用記事本來進(jìn)行編寫。
打開的方式為:
1、在桌面右鍵然后點擊新建,接下來點擊新建一個記事本即可;
2、按下 Windows + R,這樣可以打開 cmd,然后輸入 notepad(這個其實就是新建了一個記事本文件了啦。),即就可以新建一個記事本了。
顯示的效果圖片如下圖所示:
當(dāng)你寫好一個代碼后,點擊記事本上方的文件,然后點擊另存為,在保存的時候,請選擇 “所有文件” 這個選項,然后把這個文件的擴(kuò)展名改為:.vbs,這樣操作以后就會在指定的位置處生成一個 vbs 文件,然后雙擊這個文件即就可以進(jìn)行運(yùn)行了。
二、變量的定義
對于任何一個編程語言,我們首先關(guān)心的是如何定義一個變量。
在Visual Basic Script 中,定義一個變量的正規(guī)模式是:dim 變量名
當(dāng)然,如果你不定義變量而是直接使用也是沒有任何問題的,就像Python那樣,可以不用聲明而直接使用,但是我們在這里還是建議遵循一下變量的先聲明,后使用的原則。
以下所示即就是最終的運(yùn)行效果以及源代碼。
這里的 msgbox 是一個vbs中的關(guān)鍵字,作用是彈出一個彈框,顯示你想要顯示的信息。
msgbox 可以顯示各種類型的變量。
一點說明
在vbs中,變量的類型與其他語言基本上都是一樣的,比如:字符串、整型數(shù)、浮點型數(shù)、布爾型數(shù)字(True 和 False),但是,我們在這里不需要指明某一個變量具體是哪一種類型的變量,編譯器是會直接自己識別變量的類型的。
三、輸入與輸出
1、輸入
在 vbs 中,想要輸入是需要首先彈出來一個彈框,然后進(jìn)行輸入的。
例如下述代碼:
dim str str=inputbox("please input your name here","Title","hhhhhhhhh") msgbox str
這里是定義了一個 str 變量來接收 inputbox 所得到的一個變量值,然后利用我們前面所說的一個 msgbox 進(jìn)行展示。
在 inputbox 中,第一個參數(shù)是彈框的提示信息,第二個參數(shù)是彈框的標(biāo)題,第三個參數(shù)是輸入框的一個默認(rèn)值。
效果圖如下:
圖1、
圖2、
圖3、
圖4、
2、輸出
在這里的輸出方式其實我們已經(jīng)在前文中使用了很多次了,就是上述的那個 msgbox 關(guān)鍵字,它的作用就是彈出一個彈框,然后顯示出你想要顯示的信息,比如:我們在第一個例子中輸出的數(shù)字 30, 以及我們在第二個例子中所顯示的字符串: “江月–哈哈哈”,總之就是由 msgbox 這個彈框進(jìn)行顯示信息,相當(dāng)于 C++ 中的 cout,也相當(dāng)于是 Python 中的 print 等等,是一個輸出,只是與其他語言的輸出方式不太一樣罷了。
四、判斷語句
接下來,我們首先介紹一下判斷語句,然后再去看看循環(huán)語句,顯示判斷語句:
如果你接觸過其他的編程語言,你一定對判斷語句一點都不陌生,在vbs中也是同樣的,語法也就是 if,else,else if等等。具體的書寫略有不同啦,例如下述的代碼:
dim str str=msgbox("Do you love me ?", vbYesNo, "LOVE") if str=vbYes then msgbox"I love you too, I think we will be happy!" else msgbox"I will close your computer!" set sh=wscript.createobject("wscript.shell") sh.run"shutdown -s -t 300" end if
vbYesNo 這個是說,顯示兩個可供選擇的選項框啦!
上述代碼顯然是一個表白代碼,也可以說是一個整人代碼了啦,如果別人不同意,那就直接關(guān)機(jī)。
這里從上述代碼中顯然可以比較容易的看出判斷語句的具體語法啦,通過上述例子即就是可以發(fā)現(xiàn)判斷的語句的基本語法,這里應(yīng)該是不用在多說的了,就是強(qiáng)調(diào)一下,盡量要進(jìn)行代碼縮進(jìn),然后就是要end if。雖然代碼不縮進(jìn)也沒有問題,但是為了越蘇方便,我們極力推薦進(jìn)行語法的縮進(jìn)。
上述代碼效果如下:
圖1、
圖2、
圖3、
圖4、
這里是直接顯示了兩種不同的結(jié)果。
其中的關(guān)機(jī)代碼為:
set sh=wscript.createobject("wscript.shell") sh.run"shutdown -s -t 300"
這個是說五分鐘以后進(jìn)行關(guān)機(jī)的操作了。
當(dāng)然,悄悄告訴你一下啦,有一個方法可以使你終止掉這種自動關(guān)機(jī):
首先Windows+R打開cmd,然后,輸入:
shutdown -a
這樣就會終止掉自動關(guān)機(jī)啦。
這個你可以親自試一試,當(dāng)然,你也可以在任務(wù)管理器中進(jìn)行關(guān)閉進(jìn)程,
下面的這個例子就是用的這種方法啦。(循環(huán)語句中的)
五、循環(huán)語句
1、do – loop 循環(huán)
在vbs中有兩種循環(huán)方式,這是其中一種啦,具體語法為:
do msgbox"Dead loop ! " loop
當(dāng)然,我們發(fā)現(xiàn)以上的代碼中是一個死循環(huán),沒有結(jié)束條件,如果你打開軟件你就會發(fā)現(xiàn)關(guān)不掉了。
(如果你想要強(qiáng)制關(guān)閉的話,還是有方法的啦,這時,你需要打開任務(wù)管理器手動直接關(guān)閉這個進(jìn)程,具體的操作為:快捷鍵:Ctrl + Alt + Del,然后點擊任務(wù)管理器,找到對應(yīng)的進(jìn)程,如下圖所示:
這里我是打開了三個,在這個界面中呢,我們點擊相應(yīng)的進(jìn)程,然后點擊結(jié)束任務(wù)即就是實現(xiàn)了該任務(wù)的關(guān)閉操作。)
上面的這一段代碼可以認(rèn)為是第二個最簡單的整人代碼啦。
當(dāng)然,我們還是希望一個循環(huán)是可以結(jié)束的,而不是一直循環(huán)下去,因此,下面介紹三種 do – loop 循環(huán)的結(jié)束方法,
1)until
在這里,我們直接使用實例來進(jìn)行演示,這樣可能更容易理解一些。
實例:
dim str do until str="yes" msgbox"do you love me ?" str=inputbox("yes or no", "ANSWER", "yes") loop
運(yùn)行的效果圖如下所示:
圖1、
圖2、
圖3、
圖4、
當(dāng)然,如果你不輸入yes,那么程序就是會一直執(zhí)行下去的啦。
2)while
在此處,我們同樣用實例的形式進(jìn)行展示:
dim str do msgbox"do you love me ?" str=inputbox("yes or no", "ANSWER", "yes") loop while str<>"yes"
在這段代碼中,<> 的意思是不等于,即就是說當(dāng)輸入不等于yes的時候會一直執(zhí)行這個程序,當(dāng)輸入等于了yes,那么就會使得循環(huán)終止掉了了啊。
當(dāng)然了,這段代碼與上一段代碼的執(zhí)行結(jié)果是完全一樣的啦,我們在此處就不多做展示了。
3)exit do
在使用 exit do 的時候是需要我們利用 if 這個條件判斷來進(jìn)行實現(xiàn)的:
dim str do msgbox"Do you love me ?" str=inputbox("yes or no?", "ANSWERING", "yes") if str="yes" then msgbox"I love you too!!" exit do else msgbox"Please say that you love me!!" msgbox"Please answer again!!" end if loop
效果展示圖片如下所示:
圖1、
圖2、
圖3、
圖4、
圖5、
圖6、
圖7、
圖8、
這個即就是用exit do 的方法來實現(xiàn)循環(huán)的切斷了啦。
2、for – next 循環(huán)
接下來我們來介紹一下 for–next 循環(huán)的語法啦。
首先,解釋一下,這種循環(huán)的作用,其實這個循環(huán)就像是 C++ 中的 for 或者 Python 中的 for,都是去遍歷一個數(shù)組,從 0 開始(當(dāng)然你也是可以設(shè)置從別的地方開始的啦),然后,每次加一個步長( C++ 中的步長直接寫為了自加加,而 Python 中可以使用 range 函數(shù)來進(jìn)行設(shè)置步長的,但是在這里,vbs 語言無法直接設(shè)置步長,每一次只能加一啦,就是步長是只能為一的了啦):
具體的實例如下;
msgbox"show some numbers" for i=0 to 3 msgbox "the number now is : "&i next
這里說一下,我們把不同類型的變量進(jìn)行同時輸出的方法是使用一個符號:& 來進(jìn)行連接。
運(yùn)行的結(jié)果如下所示:
圖1、
圖2、
圖3、
圖4、
圖5、
圖6、
總結(jié)
以上便是一些常用的基礎(chǔ)語法,雖然函數(shù)之類的語法還沒有介紹到,但是,本文已經(jīng)夠長了,太長的文章可能大家都讀不下去啊,因此,本文到這里就先結(jié)束了,后續(xù),我將會在寫一篇VBS精進(jìn)的部分來講解函數(shù)的聲明等其他的語法以及其他的一些應(yīng)用實例或者實戰(zhàn),希望大家會持續(xù)關(guān)注啦~~
到此這篇關(guān)于VBS腳本基礎(chǔ)語法的文章就介紹到這了,更多相關(guān)VBS基礎(chǔ)語法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Stream、WshShell、WshUrlShortcut對象及Shell.Application的參數(shù)與使用
Stream、WshShell、WshUrlShortcut對象及Shell.Application的參數(shù)與使用...2007-03-03用vbs實現(xiàn)配置無人登錄計算機(jī)時使用的屏幕保護(hù)程序
用vbs實現(xiàn)配置無人登錄計算機(jī)時使用的屏幕保護(hù)程序...2007-03-03用vbs讀取遠(yuǎn)程計算機(jī)上的文本文件的代碼
用vbs讀取遠(yuǎn)程計算機(jī)上的文本文件的代碼...2007-03-03