Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

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

Frage Entwicklung Batch & Shell

Mitglied: EasyEyeSystem

EasyEyeSystem (Level 1) - Jetzt verbinden

05.09.2008, aktualisiert 20:38 Uhr, 7818 Aufrufe, 4 Kommentare

Hallo leider ist der Beitrag der meine Lösung zu 95% enthält bereits als gelöst makiert.

Deshalb eröffne ich einen neuen Beitrag um meine Frage zu ergänzen.

Thread: http://www.administrator.de/Wie_bekommt_man_einen_R%C3%BCckgabewert_von ...

Aktuelle Situation:
run.vbs
01.
	Set Runobject = WScript.CreateObject("WScript.Shell") 
02.
	Runkey = Runobject.Run ("map.bat" ,3, true) 
03.
	Wscript.Echo Runkey 
04.
	If Runkey = 0 Then 
05.
		Wscript.Echo Runkey & " OK " 
06.
	Else 
07.
		Wscript.Echo Runkey & " ERROR" 
08.
	End If
map.bat -1
01.
ping 123.2.2.1 -n 1 
02.
ping 127.0.0.1 -n 1
map.bat - 2
01.
ping 127.0.0.1 -n 1 
02.
ping 123.2.2.1 -n 1
So nun mein Problem. Ich brache in einem VBS Script den Rückgabewert einer Batchdatei.

Leider gibt dieser nur den errorlevel des letzten Befehles zurück. (map.bat -1 geht _ map.bat -2 geht nicht)

Gibt es irgendeine Möglichkeit die Errorlevel hochzuzählen?

Evtl. ein Ansatz:
nach jedem Befehl if not %errorlevel% == 0 set /a error = %error% + 1

Habt ihr eine Lösung für mein Problem?
Mitglied: bastla
05.09.2008 um 19:37 Uhr
Hallo EasyEyeSystem!

Ein
01.
set /a error=0 
02.
... 
03.
if errorlevel 1 set /a error+=1 
04.
... 
05.
exit /b %error%
sollte funktionieren - falls Du aber gar nicht die Anzahl der Fehler wissen willst, sondern nur festgehalten werden soll, dass überhaupt mindestens 1 Fehler aufgetreten ist, kannst Du folgende Variante (die auch ohne "delayedExpansion" in einer "for"-Schleife funktioniert) verwenden:
01.
set error=0 
02.
... 
03.
if errorlevel 1 set error=1 
04.
... 
05.
exit /b %error%
Soferne das verwendete BS (auf beiden Seiten) zumindest XP ist, ließe sich der Umweg über Batch auch ganz vermeiden: http://www.microsoft.com/technet/scriptcenter/resources/qanda/sept04/he ...

Grüße
bastla
Bitte warten ..
Mitglied: EasyEyeSystem
05.09.2008 um 20:12 Uhr
Zitat von bastla:
Hallo EasyEyeSystem!

Ein
01.
set /a error=0 
02.
> ... 
03.
> if errorlevel 1 set /a error+=1 
04.
> ... 
05.
> exit /b %error% 
06.
> 
sollte funktionieren - falls Du aber gar nicht die
Anzahl der Fehler wissen willst, sondern nur
festgehalten werden soll, dass überhaupt mindestens 1 Fehler
aufgetreten ist, kannst Du folgende Variante (die auch ohne
"delayedExpansion" in einer "for"-Schleife
funktioniert) verwenden:
01.
set error=0 
02.
> ... 
03.
> if errorlevel 1 set error=1 
04.
> ... 
05.
> exit /b %error% 
06.
> 
Soferne das verwendete BS (auf beiden Seiten) zumindest XP ist,
ließe sich der Umweg über Batch auch ganz vermeiden:
http://www.microsoft.com/technet/scriptcenter/resources/qanda/sept04/he ...

Grüße
bastla

Hi Bastla
Hab es ausporbiert. In meiner Zusammenstellung geht es leider nicht.

Code:
datei.vbs
01.
	Set Runobject = WScript.CreateObject("WScript.Shell") 
02.
	Runkey = Runobject.Run ("map.bat" ,1, true) 
03.
	If Runkey = 0 Then 
04.
		Wscript.Echo Runkey & " OK " 
05.
	Else 
06.
		Wscript.Echo Runkey & " ERROR" 
07.
	End If
map.bat
01.
exit /B 2
Bekomme jedoch als Exit code immer 0.

Wenn ich das aber in nem CMD Fenster mache geht es also warscheinlich liegt es an dem VBS Code

Grüße
EasyEyeSystems
Bitte warten ..
Mitglied: bastla
05.09.2008 um 20:36 Uhr
Hallo EasyEyeSystem!

Lass die Option "/B" weg (es soll ja hier ohnehin die vom Script aufgerufene CMD-Shell und nicht nur der Batch beendet werden).

Grüße
bastla
Bitte warten ..
Mitglied: EasyEyeSystem
05.09.2008 um 20:38 Uhr
Zitat von bastla:
Hallo EasyEyeSystem!

Lass die Option "/B" weg (es soll ja hier ohnehin die vom
Script aufgerufene CMD-Shell und nicht nur der Batch beendet werden).

Grüße
bastla
hi,

danke bastla hast mir mal wieder geholen. Schönen Abend noch

Grüße
Franz
Bitte warten ..
Ähnliche Inhalte
Visual Studio
Rückgabewerte von Funktionen
Frage von MarcoBornVisual Studio9 Kommentare

Hallo Forum, ich schreibe gerade in VB.NET eine Funktion, die als Rückgabewert einen Double-Wert zurückliefert. Wenn jedoch vom Nutzer ...

VB for Applications
Mit VBScript 2. Monitor erkennen
gelöst Frage von VbsUserVB for Applications3 Kommentare

Hallo, benötige Hilfe. Vielleicht hat jemand eine Idee Vor der Ausgabe einer Diashow auf einen 2. Monitor soll geprüft ...

Python
Rückgabewert von MySQL-Funktion
gelöst Frage von NativeModePython4 Kommentare

Hallo, ich habe für eine mySQL-Abfrage eine eigene Funktion erstellt und abgespeichert: Soweit so gut, das funktioniert wenn ich ...

Microsoft Office
Excel bei bestimmten Werten einen Rückgabewert
gelöst Frage von easy4breezyMicrosoft Office2 Kommentare

Hi Leute, es geht sozusagen um ein Ticketsystem mit Prioritäten. Die 3 Prioritäten sind Low, Medium und High, die ...

Neue Wissensbeiträge
Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 2 StundenInternet1 Kommentar

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registierunf von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Verschlüsselung & Zertifikate

19 Jahre alter Angriff auf TLS funktioniert immer noch

Information von BassFishFox vor 9 StundenVerschlüsselung & Zertifikate1 Kommentar

Interessant zu lesen. Der Bleichenbacher-Angriff gilt unter Kryptographen als Klassiker, trotzdem funktioniert er oft noch. Wie wir herausgefunden haben, ...

Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 20 StundenWindows 103 Kommentare

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 22 StundenSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

Netzwerkmanagement
NAS über zwei weitere Ethernet Anschlüsse verbinden
gelöst Frage von Sibelius001Netzwerkmanagement16 Kommentare

Sorry - ich bin hier wahrscheinlich als kompetter IT Trottel unterwegs. Aber eventuell kann mir jemand ganz einfach helfen: ...

LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless15 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...