如何在VBS中创建循环?

use*_*062 6 vbscript batch-file

我有一个连接到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
Run Code Online (Sandbox Code Playgroud)

我通过BAT运行它:

C:\query.vbs A > \\share\results.txt
Run Code Online (Sandbox Code Playgroud)

A是在查询中使用(WScript.Arguments(0)).但是我希望能够这样做:

C:\query.vbs A,D > \\share\results.txt
Run Code Online (Sandbox Code Playgroud)

因此,它使用A和运行2个查询,D但结果是相同的results.txt.

Tom*_*lak 3

使用WScript.Arguments.Unnamed集合

Dim arg

For Each arg in WScript.Arguments.Unnamed
    ' use arg in the SQL query
Next
Run Code Online (Sandbox Code Playgroud)

并在不带逗号的情况下调用,以便 cmd.exe 将它们识别为单独的参数:

C:\query.vbs A D > \\share\results.txt
Run Code Online (Sandbox Code Playgroud)