2017-01-05 35 views
5

, benim VBScript'teki aşağıdaki satırı için bir hata alıyorum:WBS, VBScript'te ayrılmış bir kelime mi? Windows 7'de

Set wsh = WScript.CreateObject("WScript.Shell") 

Hata:

Microsoft VBScript runtime error: Wrong number of arguments or invalid property assignment: 'wsh'

wsh eser dışında herhangi bir ad kullanma.

Web'i bilgi için inceledim, ancak ayrılmış anahtar kelimeler için sayfalar wsh'dan bahsetmiyor.

I CMD işlemcide cscript komutunu kullanarak yukarıdaki komut çalıştırın. SORU SONRA

GÜNCELLEME cevap verilmiştir:

Dim wsh olarak değişkenin belirtilmesi komut kullanımını sağlayan onun anahtar kelime durumunu geçersiz kılar. Burada soru, yazdıktan sonra bu bilgilere rastladım: Eğer

wsh.Echo "foo" 
wsh.StdErr.WriteLine "bar" 
wsh.Quit 42 

yerine

WScript.Echo "foo" 
WScript.StdErr.WriteLine "bar" 
WScript.Quit 42 

benim kadarıyla yazmaya izin http://forums.devshed.com/visual-basic-programming-52/bizzare-finding-username-918597.html

+3

Evet. wsh, [WScript] (https://msdn.microsoft.com/en-us/library/at5ydy31.aspx) nesnesi için yerleşik bir takma addır. –

+2

@AnsgarWiechers Bunu belgelenmiş hiçbir yerde bulamıyorum. Bu iyi bir soru. Tüm yıllarımda daha önce hiç karşılaşmadım. –

+0

@ rory.ap Bunun herhangi bir yerde belgelenmiş olduğunu sanmıyorum (en azından herhangi bir belge göremedim). Birkaç yıl önce visualbasicscript.com forumlarında bunu öğrendim düşünüyorum. –

cevap

8

wshWScript nesne için bir yerleşik takma adıdır bu Yine de belgelere dahil değildir.


Düzenleme: Görünüşe kullanmadan önce bir değişken olarak wsh tanımlayarak soruna geçici olabilir: Ancak

Dim wsh 
Set wsh = CreateObject("WScript.Shell") 

, bunu yaparken tamamen özgün tanımlayıcı maske unutmayın, sizi yani Özgün davranışı, değişkenin tanımlandığı bağlamı terk etmeden (global değişkenler durumunda tercümanın yeniden başlatılması anlamına gelir), can't un-dim a variable'u kullanamayacaksınız.