busteddice
Goto Top

Via MsgBox Sprungmarke in Batch auswählen

Hallo zusammen brauch mal wieder eure Hilfe bei einem Batch.
Ich möchte via MsgBox mit dem Button OK oder Abbrechen eine
Sprungmarke in einen Batch auswählen.
Also mit OK sprung1 und mit Abbrechen sprung2.
Kann mir da jemand helfen?

z.b

echo MsgBox "OK und Abbrechen mit Fragezeichen-Icon", vbOKCancel Or vbQuestion > %temp%\TEMPmessage.vbs
call %temp%\TEMPmessage.vbs
del %temp%\TEMPmessage.vbs /f /q


:sprung1
echo OK
exit


:sprung2
echo Abbrechen
exit

Content-ID: 243426

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

Ausgedruckt am: 22.11.2024 um 15:11 Uhr

RamboJay
RamboJay 11.07.2014 um 18:48:31 Uhr
Goto Top
Müsste mit if errorlevel funktionieren...
Hier die Erklärung des Befehls:
http://hannes-schurig.de/26/08/2010/batch-if-errorlevel/

VG Rambojay
colinardo
colinardo 11.07.2014 aktualisiert um 20:00:20 Uhr
Goto Top
Hallo BustedDice,
guckst du hier:
@echo off
echo wscript.echo MsgBox("OK und Abbrechen mit Fragezeichen-Icon",vbOKCancel Or vbQuestion)>"%temp%\TEMPmessage.vbs"  
for /f "tokens=* delims=" %%a in ('cscript.exe //NOLOGO "%temp%\TEMPmessage.vbs"') DO @(if "%%a" == "2" goto ABBRUCH)   

echo OK
goto :eof

:ABBRUCH
echo ABBRUCH
Der Rückgabewert der Messagebox ist 1 bei OK und 2 beim betätigen des Abbruch-Buttons.

Grüße Uwe
rubberman
rubberman 11.07.2014 aktualisiert um 21:04:04 Uhr
Goto Top
Hallo BustedDice,

Spielerei mit JScript, ohne temporäre Datei.
@if (@X)==(@Y) @end /*
:: Die erste Zeile muss in Batch und JScript gültiger Code sein und einen JScript-Kommentar einleiten.
:: In JScript: @if Anweisung der "bedingten Kompilierung" 
:: http://msdn.microsoft.com/en-us/library/7kx09ct1(v=vs.100).aspx

:: Batch Part:
@echo off &setlocal

 ::SYNTAX: cscript //nologo //e:jscript "%~fs0" Text Timeout Title Style 
cscript //nologo //e:jscript "%~fs0" "OK und Abbrechen mit Fragezeichen-Icon" 0 "Test" 33  
call :Label_%errorlevel%

pause
exit /b

:Label_1
echo OK
exit /b

:Label_2
echo Abbrechen
exit/b

:: JScript Part: */
WScript.Quit((new ActiveXObject("WScript.Shell")).Popup(WScript.Arguments(0), WScript.Arguments(1), WScript.Arguments(2), WScript.Arguments(3)));  
Siehe auch Popup Method.

Grüße
rubberman
BustedDice
BustedDice 12.07.2014 um 00:37:08 Uhr
Goto Top
Danke genau das hab ich gesucht wie immer schnelle Problemlösung echt super face-smile
RycoDePsyco
RycoDePsyco 21.04.2017 um 09:01:21 Uhr
Goto Top
Hallo.

Ich habe eine Frage zu den letzten Script was ich sehr gut finde.

Leider verstehe ich den Aufbau des Scripts nicht wirklich.
Kenne JavaScript auch nicht.


Dennoch habe ich hierzu noch eine erweiterte Frage.

Ich möchte nun im Layer 1 nun noch mehrere weitere Abfragen und weitere Unterabfragen mit OK oder Abbrechen erzeugen.
Wie stelle ich dies an?

1. OK Abbrechen
2.Layer 1
2.2 OK [CMD Befehl] Abbrechen [Nächste Frage]
2.3 OK [CMD Befehl] Abbrechen [Nächste Frage]
2.4 OK [CMD Befehl] Abbrechen [Nächste Frage]
2.5 OK [CMD Befehl] Abbrechen [Nächste Frage]
2.6 OK [CMD Befehl] Abbrechen [Nächste Frage]
2.7 OK [CMD Befehl] Abbrechen [Nächste Frage]
2.8 OK [CMD Befehl] Abbrechen [Layer 2]

Leider haben alle Ideen und versuche nicht gefruchtet.

Gibt es da auch Möglichkeiten?


Danke für die Hilfe in Vorraus.
rubberman
rubberman 22.04.2017 aktualisiert um 14:21:56 Uhr
Goto Top
Nach der cscript ... - Zeile den Errorlevel prüfen. Ist er 1 wurde OK geklick, ist er 2 wurde Abbrechen geklickt. Wie oft du den script Aufruf in deinem Script durchführst, und was du dort übergibst (Erklärung in Zeile 9) ist dir überlassen. Wichtig ist nur, die erste Zeile ist immer die erste Zeile und nach dem */ darf nichts anderes als der JScript Code folgen. Dazwischen liegt der Batchcode, der wahlweise mit EXIT /B oder GOTO :EOF beendet werden muss, damit die Verarbeitung nicht in den JScript Code hineinläuft.

Grüße
rubberman