soidberg
Goto Top

Countdown in einem Auswahlmenü

Hy,

jetzt habe ich lange Gesucht aber bin nicht wirklich fündig geworden.

Ich bin gerade dabei ein Plugin für eine Homeserveranwendung zu schreiben und habe folgendes Problem:

User die sich an meinem Server anmelden, lösen (über mein PlugIn) eine .bat auf meinem Pc aus die wiederum einen Packvorgang (.rar) abarbeitet.

Manchmal werden sehr große Ordner gepackt was eine Belastung für meinen Pc darstellt.

Ich benötige also eine Abfrage in dieser .cmd. Diese sollte so aussehen:

1) Ja Packvorgang erlauben

2) Nein, Packvorgang abbrechen

Dazu wäre ein Countdown nicht schlecht der nach einer gewissen Zeit ( 10 sekunden) automatisch den Packvorgang erlaubt.

Wenn also ein User mein Plugin über die Weboberfläche startet möchte ich das die rar.cmd mich erst fragt und wenn ich nicht antworte den Packvorgang zulässt.

Für Hilfe bin ich dankbar.

Nette Grüße Soidberg

Content-Key: 58353

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

Ausgedruckt am: 28.03.2024 um 21:03 Uhr

Mitglied: bastla
bastla 05.05.2007 um 20:22:45 Uhr
Goto Top
Hallo Soidberg!

Wenn Dich ein wenig temporäres VBScript nicht stört, könntest Du so vorgehen:
@echo off & setlocal
set "JaNein=%temp%\JaNein.vbs"  
echo Set WshShell = WScript.CreateObject("WScript.Shell")>"%JaNein%  
echo BtnCode = WshShell.Popup("Packvorgang erlauben?", 10, "Packen?", vbYesNo + vbQuestion)>>"%JaNein%"  
echo If BtnCode = vbNo Then WScript.Quit(1)>>"%JaNein%"  
cscript //nologo "%JaNein%"  
if errorlevel 1 goto :NichtPacken
del "%JaNein%"  
echo Packen
goto :eof
:NichtPacken
del "%JaNein%"  
echo Nicht packen
goto :eof
Kurz zur Funktionsweise: Nur wenn im PopUp die Schaltfläche "Nein" angeklickt wurde, wird ein Errorlevel 1 zurückgegeben, in den beiden anderen Fällen ist dieser 0 - entsprechend kannst Du dann im Batch reagieren ...

Die Sekundenanzahl (10) wirst Du im Script oben schon entdeckt haben (falls Du sie ändern wolltest). Anstelle des "echo Packen" wäre Dein bisheriger Code zu platzieren.

In jedem Fall wird die temporäre "JaNein.vbs" gelöscht - falls dies nicht nötig ist, einfach die "del"-Befehle weglassen; beim nächsten Mal wird sie aber trotzdem wieder neu erstellt werden (nur ein ">" in der ersten "echo"-Zeile).

Zum Testen kannst Du die Batchdatei (so wie sie oben steht) einfach starten ...

Grüße
bastla
Mitglied: Soidberg
Soidberg 07.05.2007 um 17:08:54 Uhr
Goto Top
Vielen Dank lieber bastla. face-smile

Dein Ansatz läuft wie geschmiert und erfüllt hervorragend seinen Zweck.

Liebe Grüße Soidberg