2016-03-31 15 views
1

Ich verwende VB Script, um eine Batchdatei auszuführen, die einen Build ausführt.Überprüfen Sie, ob die Buildausführung erfolgreich ist, indem Sie vb script verwenden

Nach dem Build, ich möchte überprüfen, ob der Build erfolgreich oder nicht erfolgreich im Skript selbst war, auch wenn der Build erfolgreich oder nicht erfolgreich ist.

Wie kann ich es erreichen?

Dim objShell 
Set objShell = WScript.CreateObject("WScript.Shell") 
objShell.Run "cmd /k cd c:\filename.bat" 

Ich bin nur den obigen Code verwenden, die eine Batch-Datei ausgeführt wird, die einen Build ausgeführt wird, nächstes möchte ich überprüfen, ob Build erfolgreich oder nicht erfolgreich war. So wie kann ich mein vb Skript für einige Zeit anhalten und warten, bis der Build abgeschlossen zu erhalten und wissen, was das Ergebnis

+0

Bearbeiten Sie Ihre Frage und schicken Sie Ihren Code ! – Hackoo

+0

@Hackoo Dim objShell Set objShell = WScript.CreateObject ("WScript.Shell") objShell.Run "cmd/k cd c: \ Dateiname.bat" Ich verwende nur den obigen Code, die wird eine Batch-Datei ausführen, die einen Build ausführen wird, als nächstes möchte ich überprüfen, ob der Build erfolgreich oder nicht erfolgreich war. Also wie kann ich mein vb-Skript für einige Zeit pausieren und warten, bis der Build abgeschlossen ist und weiß, was das Ergebnis ist –

+0

Welche Art von Build? poste seine Quelle nicht in Kommentaren, sondern in deiner Frage – Hackoo

Antwort

0

einen Versuch für diesen Beispielcode Geben Sie:

Option Explicit 
Dim BatchFile,strText 
strText = "@echo off & echo Hello World. & TimeOut /T 5 & exit" 
BatchFile = "filename.bat" 
Call Create_BatchFile(strText,BatchFile) 
wscript.echo "We execute the batch file in hidden mode !" & vbcr & "Just clic Ok button to run it !" 
Call Run(BatchFile,0,True) 
wscript.echo "We execute the batch file in normal mode !" & vbcr & "Just clic Ok button to run it !" 
Call Run(BatchFile,1,True) 
'********************************************************************************************** 
Function Run(StrCmd,Console,bWaitOnReturn) 
    Dim ws,MyCmd,Result 
    Set ws = CreateObject("wscript.Shell") 
'A value of 0 to hide the MS-DOS console 
    If Console = 0 Then 
     MyCmd = "CMD /C " & StrCmd & "" 
     Result = ws.run(MyCmd,Console,bWaitOnReturn) 
     If Result = 0 Then 
      MsgBox "Success" 
     Else 
      MsgBox "An unknown error has occurred!",16,"An unknown error has occurred!" 
     End If 
    End If 
'A value of 1 to show the MS-DOS console 
    If Console = 1 Then 
     MyCmd = "CMD /K " & StrCmd & "" 
     Result = ws.run(MyCmd,Console,bWaitOnReturn) 
     If Result = 0 Then 
      MsgBox "Success" 
     Else 
      MsgBox "An unknown error has occurred!",16,"An unknown error has occurred!" 
     End If 
    End If 
    Run = Result 
End Function 
'********************************************************************************************** 
Sub Create_BatchFile(strText,BatchFile) 
Const ForWriting = 2 
Dim fso,ts 
Set fso = CreateObject("Scripting.FileSystemObject") 
Set ts = fso.OpenTextFile(BatchFile,ForWriting,True) 
ts.WriteLine strText 
ts.Close 
End Sub 
'********************************************************************************************** 
+0

Ok, kann ich den Inhalt der Eingabeaufforderung ohne Verwendung von '>' oder '>>' mit VBScript lesen. Weil ich den Inhalt etwas später lesen möchte, wenn die Batch-Datei vollständig ausgeführt wird @Hackoo –

+0

@ AkashS.Did meinst du, dass Sie die Code-Quelle aller Batch-Datei ablaufen wollen? wie dieser, der den Quellcode eines beliebigen VBScript abfangen kann: http://stackoverflow.com/questions/36305046/use-vbscript-to-merge-all-open-instances-of-notepad-exe-and-save-to -txt-Datei? answertab = aktiv # tab-top – Hackoo

+0

Ich möchte nicht, dass der Quellcode der Batch-Datei ausgeführt wird, ich möchte die Ausgabe der Batch-Datei abfangen, die vom Befehl "promt" ausgeführt wird. –

Verwandte Themen