我希望能够检查第一个传递给windows脚本的参数的值。但是我希望能够以这样的方式执行它,即如果没有传递参数,脚本将不会给出运行时错误。
这只是一个好奇的问题,因为我可以让我的脚本使用两个if语句,但我想知道是否有办法只用一个(如
monthly = false
if wscript.arguments.count > 0 then
if wscript.arguments(0) = "monthly" then
monthly = true
end if
end if
如果可以做到这一点会更简洁......
if wscript.arguments.count > 0 and wscript.arguments(0) = "Monthly" then
monthly = true
end if
但是这会使下标超出范围错误,因为脚本引擎正在尝试检查不存在的数组项的值。
我知道我可以用PHP(if(isset($_POST['somevariable'])) && $_POST['somevariable'] == 'somevalue'
)
答案 0 :(得分:4)
答案是你不能这样做,因为VBScript没有短路和操作员。
由于这是出于好奇,您可以查看以下链接:
答案 1 :(得分:0)
如果参数有多个测试,则不必继续重复双if / then条件。
为参数测试一次并将其放入变量中。之后的所有其他检查只需要一个if / then对抗变量。或使用“案例”进行选择。
dim argument
if wscript.arguments.count > 0 then
argument = wscript.arguments(0)
end if
if argument = "test1" then
msgbox "test1"
end if
if argument = "test2" then
msgbox "test2"
end if