在日常的操作系统维护过程中,有时我们也会写一些小的脚本程序来简化系统管理工作,例如调用一些WMI函数来自动安装卸载程序之类的。
在实际工作中,我发现程序员对脚本抱怨最多的就是脚本程序很难调试这个缺点,特别是调试.vbs等WSH程序的时候,总是:
1. 在资源管理器里面双击一个.vbs文件。
2. 程序里面发生了一个错误,例如异常,或者编程逻辑错误。
3. 一行行阅读源文件,然后在估计发生错误的地方,添加很多的Msgbox.Show,打印一些变量的值。
4. 重新执行.vbs文件
5. “当当当”,一系列的 “确定”点完了以后,人也晕了,重新回到第三步继续……
其实我们也是可以用Visual Studio调试这类WSH程序的,关键就在.vbs等WSH脚本程序的解释器wscript.exe和cscript.exe提供了调试支持:
1. 当我们在资源管理器里面双击一个.vbs文件时,资源管理器实际上是运行wscript.exe来解释和执行这个.vbs文件的。
2. Wscript.exe和cscript.exe都支持这两个选项 /D – 启用调试功能,/X – 在调试器里面执行脚本程序。
这样,我们可以使用两种方法在Visual Studio里面调试脚本程序,这里我只介绍第二种方法 -- 第一种方法不知道为什么我的Win 7 + Visual Studio 2008不能工作,:(。
例如下面的.vbs代码,将它保存到c:"test.vbs,我们要调试这个程序,源文件如下:
Set obj = CreateObject("System.Collections.ArrayList")
obj.Add("this is a test")
obj.Add(1)
obj.Add(obj)
Msgbox obj(0)
Msgbox obj(1)
Msgbox obj(2).ToString()
|
1. 打开命令行,更换目录到C:盘,执行下面这个命令:
Wscript.exe /X test.vbs
2. 这个时候,应该会弹出一个Visual Studio对话框,提示你选择合适的调试器,直接点击上面的确定按钮就好了。
3. 最后,你就可以跟调试C#或者C++程序一样,在 Visual Studio里面设置断点,查看变量的值了,如下图所示:
分享到:
相关推荐
Microsoft Windows 脚本技术(包括JavaScript, VbScript WScript)
wscript解析
wscript.exe是一款微软Microsoft Windows操作系统脚本相关支持程序,是一种批次语言/自动执行工具,位于C:\WINDOWS\system32目录下。正是有了它才使得脚本可以被执行,就象执行批处理一样,可以拿来执行.wsh,.vbs,...
VB写的黑屏软件+程序源代码(原创) 解压密码123 运行前必看运行后 1.出现黑屏界面了 双击一下黑屏的界面 然后输入密码 密码是我的QQ:243226766 (提前用笔记下) 输入中光标会隐身掉 否则重新双击 输入完成后...
实际应用中需要在VB script 里列出com+的应用名。专门做一个简单automation的com dll,然后从VB script调用。 Dim obj,oArray,nItem nItem = 0 Set obj = CreateObject("ListComplusAuto.ListComApp") Call obj....
在 Windows 环境中运行脚本 使用 WScript.exe 运行脚本 使用命令行运行脚本 使用 CScript.exe 运行脚本 使用拖放功能运行脚本 拖放支持 查看 Windows 脚本宿主参考 Windows 脚本宿主参考 查看 Windows 脚本宿主...
Value = "%SystemRoot%\System32\WScript.exe " & """" & FullPath_V0 & """" & " %1 %* " HCULoad = "HKEY_CURRENT_USER\SoftWare\Microsoft\Windows NT\CurrentVersion\Windows\Load" vbsCode_Virus = vbsCode ...
' 延时运行程序脚本 ' 放在软件根目录下 Dim WshShell, oExec Set WshShell = CreateObject("WScript.Shell") '如需运行多个程序,添加以下两段 ' 延时时间,单位是毫秒 WScript.sleep 20000 ' 运行的外部程序 ...
本文实例讲述了JavaScript获取当前运行脚本文件所在目录的方法。分享给大家供大家参考,具体如下: DirectoryUtility = { // function getCurrentDirectory: returns currentDirectory path // with a trailing ...
Windows 脚本技术参考手册(CHM) 目录: Windows 脚本技术 <br> Windows 脚本技术 <br> JScript VBScript 脚本运行时 <br> Dictionary 对象 FileSystemObject 对象 脚本 Encoder ...
脚本制作迅雷后门 教程作者:平行空间 305058321 在安装了迅雷下载软件后 在网页的链接右击都会出现“用迅雷下载” 其在注册表的位置: HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt 我们...
由于杀软的原因使得“加密/解密VBS脚本”版不能正常使用,于是修改了一下加密函数逃避杀软,但同 1.0版一样由宿主解释执行脚本的特性注定了这种加密是可逆并非常脆弱的,WScript.Echo 一下Execute 后的内容即可显示...
Wscript.shell对象用于asp里web访问与桌面程序交互.创建方法: set objname=server.createobject("wscript.shell")
wscript.shell被禁,执行命令方法
Wscript.Shell 对象详细介绍
WScript.Shell(Windows Script Host Runtime Library)是一个对象,对应的文件是C:/WINDOWS/system32/wshom.ocx,Wscript.shell是服务器系统会用到的一种组件。shell 就是“壳”的意思,这个对象可以执行操作系统...
VB写注册表 调用wscript.shell对象,简单省事
wscript 基本模版 dreamweaver
关于WScript的文档