Vbscript 带冒号的多个论点
我正在尝试找出如何使用多个参数运行脚本,但每个参数之间都需要有冒号。例如: setup.exe服务器名:端口 我想克服的问题是: 1.问题是用户可以输入许多参数 2.输入的参数之间必须有一个冒号,并且必须作为SERVERNAME:PORT完成-有什么方法可以做到这一点吗 我有下面的草稿,不太确定它是否能满足我的需要Vbscript 带冒号的多个论点,vbscript,Vbscript,我正在尝试找出如何使用多个参数运行脚本,但每个参数之间都需要有冒号。例如: setup.exe服务器名:端口 我想克服的问题是: 1.问题是用户可以输入许多参数 2.输入的参数之间必须有一个冒号,并且必须作为SERVERNAME:PORT完成-有什么方法可以做到这一点吗 我有下面的草稿,不太确定它是否能满足我的需要 argsCount = WScript.Arguments.Count Set args = Wscript.Arguments If argsCount < 1 then
argsCount = WScript.Arguments.Count
Set args = Wscript.Arguments
If argsCount < 1 then
WScript.Echo "Error no arguments selected - usage: script.vbs <SERVERNAME>:<PORT>, <SERVERNAME>:<PORT>, <SERVERNAME>:<PORT> etc"
WScript.Quit
Else
For Each arg In args
setup.exe <IP>:<PORT>
Next
End If
如果您愿意删除,并使用RegExp:
Option Explicit
Dim args : Set args = WScript.Arguments.Unnamed
If args.Count < 1 then
WScript.Echo "Error no arguments selected - usage: script.vbs <SERVERNAME>:<PORT> <SERVERNAME>:<PORT> <SERVERNAME>:<PORT> etc"
WScript.Quit
Else
Dim r : Set r = New RegExp
r.Pattern = "^\w+:\d+$"
Dim a, m
For Each a In args
Set m = r.Execute(a)
If 1 <> m.Count Then
WScript.Echo "Bingo:", a
Else
WScript.Echo "setup.exe", m(0).Value
End If
Next
End If
请注意,空格将打破这种做法。这真的很好…不幸的是,我使用的setup.exe文件必须有,我刚刚意识到它们之间不能有空格..所以,它必须是:,:…有机会这样做吗?
cscript y.vbs
Error no arguments selected - usage: script.vbs <SERVERNAME>:<PORT> <SERVERNAME>:<PORT> <SERVERNAME>:<PORT> et
c
cscript y.vbs server:123 a:0 0:a "nice try:4711" abc:abc abc:000
setup.exe server:123
setup.exe a:0
Bingo: 0:a
Bingo: nice try:4711
Bingo: abc:abc
setup.exe abc:000
Option Explicit
Dim args : Set args = WScript.Arguments.Unnamed
If args.Count <> 1 then
WScript.Echo "Error no arguments selected - usage: script.vbs <SERVERNAME>:<PORT>,<SERVERNAME>:<PORT>,<SERVERNAME>:<PORT> etc"
WScript.Quit
Else
Dim r : Set r = New RegExp
r.Pattern = "^\w+:\d+$"
Dim a, m
For Each a In Split(args(0), ",")
Set m = r.Execute(a)
If 1 <> m.Count Then
WScript.Echo "Bingo:", a
Else
WScript.Echo "setup.exe", m(0).Value
End If
Next
End If
cscript y.vbs server:123,a:0,0:a,abc:abc,abc:000
setup.exe server:123
setup.exe a:0
Bingo: 0:a
Bingo: abc:abc
setup.exe abc:000