1

我正在创建脚本来传递一个或多个参数。该脚本使用一个参数可以正常工作,但使用多个参数会失败。

这是我的代码:

Set WshShell = WScript.CreateObject("WScript.Shell") 
strCommand = Wscript.Arguments(0) & " " & Wscript.Arguments(1) 
WshShell.Run(strCommand)

当我运行script.vbs notepad 1它时它可以工作,但是当我运行script.vbs notepad它时它会失败。

我在网上搜索并尝试修改不同的脚本,但它们都不起作用,所以我需要一些帮助才能让我上路。

4

1 回答 1

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
于 2013-11-05T09:16:50.050 回答