怎样在Visual Studio 2005中调试WSH脚本
最近收到一堆VBScript要调试。VBScript是一个很有迷惑性的名字,ASP用的脚本语言可以是VBScript,Office里的VBA在我看来也是一种VBScript,显然这次的一堆.vbs文件不属于以上情况。为什么要在标题中说是“调试WSH“,先把概念搞清楚。
什么是WSH
WSH(Windows Script Host),基于Windows的脚本语言宿主(运行)环境,好比cmd.exe之于batch命令。使各种语言(VBScript、JScript,如果没记错还有Perl之类的)能够在其中运行,执行Windows的管理等自动化工作。
至于真正提供操纵Windows的对象模型,来自于如WMI(Windows Management Instrumentation)和ADSI(Active Directory Service Interfaces)
概念就简单地说说,需要严谨的理论的请查找MSDN。Microsoft TechNet Script Center是汇集了相关的资源。话说现在MS又推PowerShell,学无止境啊。
如何调试WSH脚本
需要用到cscript.exe和wscript.exe,两者的区别是控制台输出和窗口输出。文件位置在\windows\system32目录下,如果旧的Windows版本找不到此文件,可以下载安装Microsoft Windows Script。
以VBScript脚本为例,如果要调试Sample.vbs
运行
cscript yourscript.vbs //X
或者
wscript yourscript.vbs //X
会弹出Just-in-Time Debugger选择窗口
选择更“高级”的Visual Studio 2005。(如果不能弹出此窗口,请部分参考该链接的修改注册表的部分)
标准的Visual Studio的调试界面,该有的调试功能都有,比逐行加Msgbox要强多了,好好享受吧。