我正在创建脚本以传递一个或多个参数。该脚本适用于一个参数,但有多个参数失败。
这是我的代码:
Set WshShell = WScript.CreateObject("WScript.Shell")
strCommand = Wscript.Arguments(0) & " " & Wscript.Arguments(1)
WshShell.Run(strCommand)
当我运行script.vbs notepad 1
时,它可以运行,但当我运行script.vbs notepad
时,它会失败。
我在网上搜索并试图模仿不同的脚本,但没有一个工作,所以我需要一些帮助让我在路上。
答案 0 :(得分:0)
在通过查看WScript.Arguments.Count访问WSCript.Arguments(n)之前,需要检查是否存在参数n:
Option Explicit
Dim oWAU : Set oWAU = WScript.Arguments.Unnamed
Dim sArg1 : sArg1 = ""
Dim nArg2 : nArg2 = 1
If 1 <= oWAU.Count Then sArg1 = oWAU(0)
If 2 <= oWAU.Count Then nArg2 = CLng(oWAU(1))
WScript.Echo sArg1, nArg2
输出:
args.vbs notepad
notepad 1
args.vbs notepad 4
notepad 4