Vbscript使用参数运行.Bat文件并在结果txt文件中搜索错误

时间:2017-11-07 13:51:41

标签: vbscript

我正在准备vbscript来运行bat文件,其中bat文件名包含版本号,Script必须搜索具有匹配版本名称的bat文件。一旦Ran,将生成具有相同版本号的结果文本文件。我必须搜索具有相同版本号的文本文件并读取txt文件中的错误或消息,如果发现错误我想显示它。 我知道我的要求太少了。 但我发现调试代码有点困难。我卡住了。 任何人都可以帮我解决这个问题。

谢谢

这是我的剧本, 我从excel表传递sql查询的值。

    Dim Ver, Version_Number
Dim con
Dim rs
Set con=createobject("adodb.connection")
Set rs=Createobject("adodb.recordset")
Set PinXL = CreateObject("Excel.application")
Set PinWB = PinXL.Workbooks.Open("C:\maspects\Trial.xls")                          '// Login and Enable Debug Window in application
Set PinWS = PinWB.Worksheets("Sheet1")
varr = Cstr(PinWS.Cells(2,1).Value)
varr1 =  trim(varr)
usename =  Cstr(PinWS.Cells(2,2).Value)
UN = trim(usename)
password = Cstr(PinWS.Cells(2,3).Value)
PWD = trim(password)
IrisDB = Cstr(PinWS.Cells(2,4).Value)
DB = trim(IrisDB)
Site_Name = Cstr(PinWS.Cells(2,5).Value)
Site = trim(Site_Name)
con.open"provider=sqloledb.1;server=" & varr1 & ";uid=" & UN & ";pwd=" & PWD & ";database=" & DB &""
Wscript.sleep 1000*3
rs.Open  "select * from tblSettingsUnique where [Setting Name] like '%Revision%'" ,con 
Wscript.sleep 1000*2
Version_Number = rs.Fields("Setting Value")
Ver = Version_Number
 msgbox Ver
 Call Execute

 PinWB.Save
 PinWB.Close 
 PinXL.Quit 
 Wscript.Quit

 Function Execute
  If Ver < PinWS.Cells(2,6).Value = "True" Then   ' if Ver is less than Cell(2,6) value then application should come out of loop
    For i = Ver to PinWS.Cells(2,6).Value step 1
        msgbox i
       Set WShell = CreateObject("WScript.Shell")
            For each f in Wshell.Getfolder("C:\maspects\DB_script").Files
                BatFile = instr(f.File , "4_0_"&i )
                WShell.Run ("CMD /K C:\maspects\DB_script\"&batFile &".bat" & Varr1 &" "& UN &" "& password )
                Call msg 
            Next            
    Next
   End If   
 End Function       


Function msg
      Set TxtObject = CreateObject("scripting.FileSystemObject")
        For each ResFile in TxtObject.GetFolder("C:\maspects\DB_script").Files
             TargetFile = InStr(ResFile.File , "4_0_"&i )
            Set TxtFile = TxtObject.openTextFile("C:\maspects\DB_script\"&TargetFile, 1 ,true)
                Do until TxtFile.AtEndOfStream
                    For each F in TxtFile.Readline
                        if InStr (F,"msg" ) = "True" and InStr (F,"msg 207" )= "False" Then
                             msgbox "Error in:"&TargetFile 
                             React =Cint(Inputbox("Go through the Result file:"&TargetFile &"Enter '1' to Continue '0' to Quit"))
                             If React = "0" Then
                                   TextObject.Close
                                   Wscript.Quit
                             End if
                        End If
                    Next
                Loop    
          TextObject.Close                  
        Next         
End Function    

0 个答案:

没有答案