2016-10-10 54 views
6

Bir FoxPro veritabanına bağlanan bir VBS komut dosyası var.VBS'de döngü nasıl oluşturulur?

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 

bir BAT ile çalıştırın:

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

A terimi (WScript.Arguments(0)) kullanılır. Ancak bunu yapabilmek istiyorum: o A ve D kullanılarak 2 sorguları çalıştırır ancak sonuçlar aynı results.txt gitmek

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

diye.

cevap

3

WScript.Arguments.Unnamed collection'u kullanın.

C:\query.vbs A D > \\share\results.txt 
: cmd.exe ayrı argümanlar olarak tanıdığını böylece

Dim arg 

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

ve virgül olmadan çağrı