當你在運行一些基於VBS腳本語言的文件時,系統可能報錯。這時候多是你的VBS腳本服務在註冊表中出錯了,緣由多是卸載或安裝一些代碼不規範的程序引發的。這裏給出沒法找到腳本引擎"vbscript"的解決方法:測試
把如下代碼複製另存爲《vbs關聯修復.reg》,雙擊運行便可。code
緣由是vbs文件沒有正常關聯,要創建關聯,主要有三個地方要修改。ip
Windows Registry Editor Version 5.00it
[HKEY_CLASSES_ROOT\.vbs]
@="vbsfile"io
[HKEY_CLASSES_ROOT\.vbs\PersistentHandler]
@="{5e941d80-bf96-11cd-b579-08002b30bfeb}"file
[HKEY_CLASSES_ROOT\VBSFile]
@="VBScript Script 文件"
"FriendlyTypeName"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,\
00,6f,00,6f,00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,\
32,00,5c,00,77,00,73,00,68,00,65,00,78,00,74,00,2e,00,64,00,6c,00,6c,00,2c,\
00,2d,00,34,00,38,00,30,00,32,00,00,00程序
[HKEY_CLASSES_ROOT\VBSFile\DefaultIcon]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,57,00,53,00,\
63,00,72,00,69,00,70,00,74,00,2e,00,65,00,78,00,65,00,2c,00,32,00,00,00方法
[HKEY_CLASSES_ROOT\VBSFile\ScriptEngine]
@="VBScript"腳本
[HKEY_CLASSES_ROOT\VBSFile\ScriptHostEncode]
@="{85131631-480C-11D2-B1F9-00C04F86C324}"語言
[HKEY_CLASSES_ROOT\VBSFile\Shell]
[HKEY_CLASSES_ROOT\VBSFile\Shell\Edit]
@="編輯(&E)"
[HKEY_CLASSES_ROOT\VBSFile\Shell\Edit\Command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,6f,00,\
74,00,65,00,70,00,61,00,64,00,2e,00,65,00,78,00,65,00,20,00,25,00,31,00,00,\
00
[HKEY_CLASSES_ROOT\VBSFile\Shell\Open]
@="打開(&O)"
[HKEY_CLASSES_ROOT\VBSFile\Shell\Open\Command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,57,00,53,00,\
63,00,72,00,69,00,70,00,74,00,2e,00,65,00,78,00,65,00,20,00,22,00,25,00,31,\
00,22,00,20,00,25,00,2a,00,00,00
[HKEY_CLASSES_ROOT\VBSFile\Shell\Open2]
@="在命令提示符中打開(&W)"
[HKEY_CLASSES_ROOT\VBSFile\Shell\Open2\Command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,43,00,53,00,\
63,00,72,00,69,00,70,00,74,00,2e,00,65,00,78,00,65,00,20,00,22,00,25,00,31,\
00,22,00,20,00,25,00,2a,00,00,00
[HKEY_CLASSES_ROOT\VBSFile\Shell\Print]
@="打印(&P)"
[HKEY_CLASSES_ROOT\VBSFile\Shell\Print\Command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,6f,00,\
74,00,65,00,70,00,61,00,64,00,2e,00,65,00,78,00,65,00,20,00,2f,00,70,00,20,\
00,25,00,31,00,00,00
[HKEY_CLASSES_ROOT\VBSFile\ShellEx]
[HKEY_CLASSES_ROOT\VBSFile\ShellEx\DropHandler]
@="{60254CA5-953B-11CF-8C96-00AA00B8708C}"
[HKEY_CLASSES_ROOT\VBSFile\ShellEx\PropertySheetHandlers]
[HKEY_CLASSES_ROOT\VBSFile\ShellEx\PropertySheetHandlers\WSHProps]
@="{60254CA5-953B-11CF-8C96-00AA00B8708C}"
也有多是動態連接庫沒有註冊,這個可能性很小。用如下批處理解決:《註冊vbscript.bat》
regsvr32 %systemroot%\system32\vbscript.dll
regsvr32 scrrun.dll
regsvr32 cscript.dll
regsvr32 wshom.ocx
regsvr32 wshext.dll
《vbs測試.vbs》能運行這個就證實OK了!
msgbox "Hello world!"