vbscript并检查null

Ste*_*ood 10 vbscript

在"If(IsNull(value))"行下面"我的代码是否正确?我想检查注册表项是否存在,如果没有,则显示一个网页.

Option Explicit
On error resume next
Dim SysVarReg, Value
Set SysVarReg = WScript.CreateObject("WScript.Shell")
value = SysVarReg.RegRead ("HKCU\Software\test\FirstLogonComplete")

If (IsNull(value)) then

    Set WshShell = WScript.CreateObject("WScript.Shell") 
    WshShell.Run "c:\Program Files\Internet Explorer\iexplore.exe https://intranet/start.htm"

    Dim SysVarReg2, Value2
    Value2 = "TRUE"
    Set SysVarReg2 = WScript.CreateObject("WScript.Shell")
    SysVarReg2.RegWrite "HKCU\Software\test\FirstLogonComplete", Value2

else
    wscript.echo "Already logged on"
end if
Run Code Online (Sandbox Code Playgroud)

san*_*3hi 6

在VBScript中 - 所有变量都是变量 - 变量可以是两个特殊值之一:EMPTY或NULL.EMPTY定义为具有未初始化值的变量,而NULL是不包含有效数据的变量.

如果要测试变量'value'是NULL还是EMPTY,请使用以下if语句:

If IsNull(value)  Or  IsEmpty(value) Then
   '...do something
End If
Run Code Online (Sandbox Code Playgroud)


小智 5

如果RegRead抛出错误,则value不会初始化; 未初始化的变量具有值Empty,而不是Null.因此,您应该添加该行

value = Null
Run Code Online (Sandbox Code Playgroud)

Dim声明.否则,IsNull总会回来False.