检查VBScript语法

检查VBScript语法,vbscript,syntax,wsh,Vbscript,Syntax,Wsh,在没有实际运行脚本的情况下,有没有好的实用程序来验证VBScript语法 我想说的是如果我做了以下事情: If (year == "2005" && type == 1) Then ... End If 有没有一个工具可以告诉我“&&”真的应该是“And”和“==”,仅仅是“=”?Visual Studio(2005)将进行语法突出显示,并为注册的DLL提供IntelliSense,这使您非常接近已验证的语法 除此之外,它是一种解释性语言,所以你只能做这么多。即使是最好的情况,

在没有实际运行脚本的情况下,有没有好的实用程序来验证VBScript语法

我想说的是如果我做了以下事情:

If (year == "2005" && type == 1) Then
...
End If
有没有一个工具可以告诉我“&&”真的应该是“And”和“==”,仅仅是“=”?

Visual Studio(2005)将进行语法突出显示,并为注册的DLL提供IntelliSense,这使您非常接近已验证的语法


除此之外,它是一种解释性语言,所以你只能做这么多。即使是最好的情况,也只能保证“它在我的机器上工作”状态。

我不认为有任何转换器可用,不幸的是,考虑到vbscript语法相当简单,您可能可以相当容易地转换它。

事实上,我认为有一种方法。脚本控件包括一个类似于HTML VBScript的Eval方法的执行方法。您可以给它一个字符串,它将对其进行语法检查

你仍然可以从这里得到它。

这篇旧的MSDN文章介绍了如何将脚本添加到应用程序中。

关于脚本控件的MSDN文章

像这样的。。(不确定实例化)


我也在找同样的东西。如果您碰巧在asp的上下文中使用vbscript,则有一个名为的东西显然会将您的经典asp编译为asp.net


因为我相信这会导致某种编译时错误,所以我认为在编译期间会报告语法错误。但是,我还没有尝试过。

如果您不想运行脚本,因为您不想让它实际执行任何操作,那么我使用的一种方法是在脚本开头放入一个“WScript.Quit”语句(如果有显式选项,则在该选项之后),然后使用cscript.exe或WScript.exe运行它

例如:

Option Explicit
WScript.Quit
Dim year
If (year == "2005" && type == 1) Then
    WScript.Echo "Hello"
End If
这不会捕获未定义的变量(如上面的“type”),但它是检查语法是否正确的一种简单、快速的方法

Option Explicit
WScript.Quit
Dim year
If (year == "2005" && type == 1) Then
    WScript.Echo "Hello"
End If