admin666
Goto Top

Wie bekommt man einen Rückgabewert von einer Batchdatei in das VBScript

Seid gegrüßt!

Ich starte über ein VBScript eine Batchdatei, wenn diese (nicht) erfolgreich ist benötige ich unbedingt eine Art Returncode das mein Script weis die Batchdatei ist fertig und kann weitermachen!
Ich hab keine Ahnung ob im Script etwas hinzufügen soll oder in der Batchdatei oder beides?!

Ich bin über jede hilfreiche Anwort erfreut!

Hier ein Auszug:

IngRetCode = wshshell.Run "\sfile112us4swSourcenWebGis\_SetupWebGisUpdateSubServerApplication.bat",3, True

"Hier wartet mein Script auf die "Batchreturncode"

Mit dem RUN Befehlt starte ich die Batchdatei, und wie weis mein Script jetzt ob die Stapelverarbeitungsdatei erfolgreich abgeschlossen wurde?!

Content-Key: 67454

Url: https://administrator.de/contentid/67454

Printed on: April 16, 2024 at 07:04 o'clock

Member: hajowe
hajowe Aug 30, 2007 at 08:13:56 (UTC)
Goto Top
Hallo,


Schau mal hier, vielleicht hilft die das weiter
http://msluder.dk/Resources/WSH-Doc/HTML/wsMthRun.htm

Ansonsten schreib Dir im Batch deinen Code in ein Tempfile und werte es anschließend im VBScript aus.
Das geht sicher.

mfg
Achim
Member: AndreasHoster
AndreasHoster Aug 30, 2007 at 08:17:30 (UTC)
Goto Top
Was kann man aus einem Variablennamen wie IngRetCode schließen?
Eventuell daß die Variable einen Integer enthält der den Return Code präsentiert?
Also, IngRetCode enthält den Rückgabewert der Batchdatei. Üblicherweise 0 wenns geklappt hat.

Oder sollte die Frage sein: Was ist der Returncode einer Batchdatei?
Der Returncode einer Batchdatei entspricht dem Returncode des letzten aufgerufenen Programms im Batch.

Oder sollte die Frage sein: Wie setze ich den Returncode einer Batchdatei?
Ruf einfach als letztes in der Batch folgendes VBS Skript auf:
set args=Wscript.arguments
wscript.quit(cint(args(0)))
Beim Aufruf mittels ??.vbs RC gibt es den Wert von RC als Returncode zurück.
Member: Admin666
Admin666 Aug 30, 2007 at 12:21:04 (UTC)
Goto Top
Set Runobject = WScript.CreateObject("WScript.Shell")
Runkey = Runobject.Run ("\\sfile112\us4sw\Sourcen\WebGis\_Setup\TestmitMSI.bat" ,1, true)

If Runkey = 0 then Logentry "1.Stapelverarbeitungsdatei erfolgreich" else Logentry "1.Stapelverarbeitungsdatei nicht erfolgreich" End If
Runkey = nothing

Habs jetzt so gelöst vielleicht etwas unschön aber es funktioniert face-smile

Danke für die schnellen Antworten!