我正在从PowerShell中调用vbScript,其参数在文本字符串中定义,我想验证所使用的参数是否正确。假设我的有效参数是ARG1,ARG2和ARG3,并且某人具有字符串"/ARGG1:one /ARG2:two"
,我想针对有效参数数组验证命名参数,并捕获< [ARGG1。我失败的地方是获取命名参数的名称。例如,我可以使用WScript.Arguments.Named("ARG1")
引用特定的命名参数。但是我似乎无法遍历WScript.Arguments.Named并返回使用的实际参数名称。像这样的东西
For Each Argument In WScript.Arguments.Named
msgBox Argument.name
Next
Named
参数集合时,您正在访问键((参数名称)],而不是WshNamed
对象本身。如果将密钥传递回集合中,则可以访问该命名参数的值。
Dim key
For Each key In WScript.Arguments.Named
Dim argument: argument = WScript.Arguments.Named.Item(key)
Call WScript.Echo(key) 'Return argument name
Call WScript.Echo(argument) 'Return argument value
Next
输出:
ARG1 one ARG2 two