複製** **如下:
set wsh = createobject("wscript.shell")
wscript.sleep 15 * 60 * 1000
wsh.run "shutdown /s /t 0"
雙擊執行,居然彈出個錯誤對話方塊
複製** **如下:
line: 1
char:
error: wrong number of arguments or invalid prope assignment: 『wsh'
code: 800a01c2
source: microsoft vbscript runtime error
習慣了用vbsedit寫指令碼,難道沒有vbsedit我就寫不對vbs指令碼了?乙個字乙個字地檢查了一遍,沒發現任何語法錯誤,但是雙擊就是報錯,真是見鬼了!
傳說宣告變數是個良好的程式設計習慣,於是改成
複製** **如下:
dim wsh
set wsh = createobject("wscript.shell")
wscript.sleep 15 * 60 * 1000
wsh.run "shutdown /s /t 0"
這次居然不報錯了!怎麼可能!vbs不是可以不宣告變數的麼!平時寫的程式不都好好的麼!
想了一下,發現平時用vbsedit的時候變數名都是用編輯器自帶snippets中的wshshell,莫非是變數名的問題?
複製** **如下:
'dim wshshell
set wshshell = createobject("wscript.shell")
wscript.sleep 15 * 60 * 1000
wshshell.run "shutdown /s /t 0"
這樣也沒有任何問題,看來是wsh這個變數名惹的禍。為什麼不能用這個變數名呢?唯一的解釋就是它是vbs內建的變數,而wscript也是vbs的內建變數,難道wsh是wscript的別名?
wsh.echo "hello world"
msgbox wsh.scriptfullname測試結果和wscript一樣,怎麼會有這麼**的東西!我沒有在哪本書上看到過,參考手冊上也沒有任何說明。
總結一下:
1、wsh是wscript的別名
2、dim可以消除vbs內建變數
3、不要以為自己的vbs水平很高
原文:程式設計客棧ing程式設計客棧/vbs-wsh-wscript.html
本文標題: vbs變數名wsh等於wscript物件?
本文位址: /ruanjian/vb/84610.html
變數名命名
有些東西不明確寫出來就難以確定下來,個人寫 的命名風格一直沒有穩定下來,今天寫個筆記明確幾類主要的命名,希望可以逐步養成自己的程式設計風格。1.類名 型別名 t 每個單詞首字母大寫 例 t typename 2.列舉型別 反應型別的複數形式 例 enum colors 3.函式名 每個單詞首字母大寫...
變數名提公升
預解析的過程 的執行過程 程式在執行過程,會先將 讀取到記憶體中檢查,會將所有的宣告在此時進行標記。所謂的標記就是讓js直譯器直到有這個名字,後面在使用名字的時候,不會出現未定義的錯誤,這個標記就是提公升 宣告 名字的宣告,識別符號的宣告 變數名的提公升 函式的宣告 函式宣告與函式表示式有區別,函式...
Oracle中的替換變數, 變數名, 變數名
替換變數 僅用於sql plus或者用於原理和sql plus相同的開發工具 臨時儲存值 利用它可以達到建立通用指令碼的目的 利用它可以達到和使用者互動,故在sql plus中又稱互動式命令 替換變數的格式式在變數名稱前加乙個 以便在執行sql命令時提示使用者輸入替換資料,然後按輸入資料執行sql命...