如何在VBS中创建循环?

时间:2016-10-10 09:29:03

标签: batch-file vbscript

我有一个连接到FoxPro数据库的VBS脚本。

Dim oCN : Set oCN = CreateObject("ADODB.CONNECTION")
oCN.Open sCS
Dim oRS : Set oRS = oCN.Execute("SELECT SN_ANALSYS, SN_CRLIM, SN_CURRBAL FROM " & WScript.Arguments(0) & "_SNAME.DBF WHERE SN_ANALSYS != '' ORDER BY SN_ANALSYS ASC")
Do Until oRS.EOF
   WScript.Echo oRS.Fields(0).value, "50", oRS.Fields(1).Value
   WScript.Echo oRS.Fields(0).value, "51", oRS.Fields(2).Value
   oRS.MoveNext
Loop
oCN.Close

我通过BAT运行它:

C:\query.vbs A > \\share\results.txt

A用于查询(WScript.Arguments(0))。但是我希望能够做到这一点:

C:\query.vbs A,D > \\share\results.txt

这样它就可以使用AD运行2个查询,但结果会转到同一个results.txt

1 个答案:

答案 0 :(得分:3)

使用WScript.Arguments.Unnamed collection

Dim arg

For Each arg in WScript.Arguments.Unnamed
    ' use arg in the SQL query
Next

并且不使用逗号进行调用,以便cmd.exe将它们识别为单独的参数:

C:\query.vbs A D > \\share\results.txt