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

Printed on: April 25, 2024 at 20:04 o'clock

Member: bastla
bastla May 05, 2007 at 18:22:45 (UTC)
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
Member: Soidberg
Soidberg May 07, 2007 at 15:08:54 (UTC)
Goto Top
Vielen Dank lieber bastla. face-smile

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

Liebe Grüße Soidberg