JA Nein und Abfrage in Batch + Ablauftimer
Hallo zusammen,
ich bin hier im Forum fündig geworden, auf der Suche nach einer Abfrage von "JA" NEIN":
for /f "delims=" %%i in ('cscript //nologo %temp%\info_frage.vbs') do set "Antwort=%%i"
del %temp%\info_frage.vbs
if "%Antwort%"=="4" goto :JA
if "%Antwort%"=="7" goto :NEIN
Nun brauche ich einen Ablauftimer, der nach 1 Min selbstständig eine Auswahl trifft.
Hat jemand eine Idee für mich?
FLO
ich bin hier im Forum fündig geworden, auf der Suche nach einer Abfrage von "JA" NEIN":
for /f "delims=" %%i in ('cscript //nologo %temp%\info_frage.vbs') do set "Antwort=%%i"
del %temp%\info_frage.vbs
if "%Antwort%"=="4" goto :JA
if "%Antwort%"=="7" goto :NEIN
Nun brauche ich einen Ablauftimer, der nach 1 Min selbstständig eine Auswahl trifft.
Hat jemand eine Idee für mich?
FLO
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 3188511309
Url: https://administrator.de/contentid/3188511309
Ausgedruckt am: 23.11.2024 um 12:11 Uhr
8 Kommentare
Neuester Kommentar
Zitat von @19Fl081:
Denn sobald die Box auftaucht, ist warten auf Antwort angesagt und es wird nichts unternommen bis eine Antwort vom User kommt
Oder bis die Minute um ist. Dafür ist ja der Schalte /t da. Siehe hier oder choice /?Denn sobald die Box auftaucht, ist warten auf Antwort angesagt und es wird nichts unternommen bis eine Antwort vom User kommt
Gruß Thomas
Hallo,
benutze einfach statt dem "MsgBox" Befehl im vbs den Befehl "Popup":
Die 10 steht für 10 Sekunden Timeout.
Die Rückgabewerte sidn identisch zu MsgBox. Bei erreien des Timeout ist der Rückgabewert -1. Da musst du dann halt in der Batch drauf reagieren.
Gruß
...
benutze einfach statt dem "MsgBox" Befehl im vbs den Befehl "Popup":
WScript.Echo MsgBox("Der PC muss Neugestartet werden soll der PC jetzt oder in 5 Minuten Neugestartet werden? | Ja fuer sofort | Nein fuer 5 Min",4,"Neustart")
wird zuWScript.Echo CreateObject("WScript.Shell").Popup("Der PC muss Neugestartet werden soll der PC jetzt oder in 5 Minuten Neugestartet werden? | Ja fuer sofort | Nein fuer 5 Min", 10,"Neustart",4)
Die 10 steht für 10 Sekunden Timeout.
Die Rückgabewerte sidn identisch zu MsgBox. Bei erreien des Timeout ist der Rückgabewert -1. Da musst du dann halt in der Batch drauf reagieren.
Gruß
...
@echo off
> "%TEMP%\popup.vbs" echo wscript.echo CreateObject^("Wscript.Shell"^).Popup^("Der PC muss neu gestartet werden, soll der PC jetzt oder in 5 Minuten neu gestartet werden? (Ja fuer sofort | Nein fuer 5 Min)",60,"Neustart",4^)
for /f "delims=" %%a in ('cscript //NOLOGO "%TEMP%\popup.vbs"') do set answer=%%a
:: ja gewählt, reboote sofort
if %answer% == 6 goto REBOOT
:: nein gewählt, warte mit reboot 5 Minuten
if %answer% == 7 goto REBOOTWAIT
:: timeout nach 60s, reboote sofort
if %answer% == -1 goto REBOOT
:REBOOT
shutdown -r -f -t 0
goto :eof
:REBOOTWAIT
shutdown -r -f -t 300
Dim answer, objShell
Set objShell = CreateObject("Wscript.Shell")
answer = objShell.Popup("Der PC muss neu gestartet werden, soll der PC jetzt oder in 5 Minuten neu gestartet werden? (Ja fuer sofort | Nein fuer 5 Min)",60,"Neustart",4)
Select Case answer
Case 6,-1
objShell.Run "shutdown -r -f -t 0",0,False
Case Else
objShell.Run "shutdown -r -f -t 300",0,False
End Select
if ((New-Object -Com WScript.Shell).Popup("Der PC muss neu gestartet werden, soll der PC jetzt oder in 5 Minuten neu gestartet werden? (Ja fuer sofort | Nein fuer 5 Min)",60,"Neustart",4) -in (6,-1)){
Restart-Computer -Force
}else{
shutdown -r -f -t 300
}
Wenns das dann war, den Beitrag bitte noch auf gelöst setzen. Merci.