enclave
Goto Top

Batch Eine Abfrage in einer bestimmten Zeit

Hallo alle zusammen,

Ich wollt mir ein Batchscript in den Autostart legen der Programme startet aber...

Ich würd es gerne haben das sich das Script startet und im CMD Fenter steht:

Druecken Sie eine Taste um das Laden der Programm abzubrechen (0. Sekunden)
Druecken Sie eine Taste um das Laden der Programm abzubrechen. (1. Sekunde)
Druecken Sie eine Taste um das Laden der Programm abzubrechen.. (2. Sekunde)
Druecken Sie eine Taste um das Laden der Programm abzubrechen... (3. Sekunde)
Druecken Sie eine Taste um das Laden der Programm abzubrechen.... (4. Sekunde)
Druecken Sie eine Taste um das Laden der Programm abzubrechen..... (5. Sekunde)

Wenn in den 5 Sekunden keine Taste gedrueckt wurde soll das Script die Programme starten ansonste nicht...


Wie kann ich das machen? Wär geil wenn mir da jemand helfen koente...


Mfg & thx

Enclave

Content-ID: 40760

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

Ausgedruckt am: 16.11.2024 um 03:11 Uhr

gijoe
gijoe 24.09.2006 um 12:36:10 Uhr
Goto Top
hi, warum nimmst du dafür nicht einfach eine verständlichere Script-Sprache? zB WSH oder AutoIt.
Wenns du imbedingt mit einer Batch machen willst, dann kannst du dir ja den Befehl "sleep.exe" herunterladen.
In WSH kannst du mit Timer() arbeiten und Messageboxen, hab ich noch nie getestet.
In AutoIt kannst du eine Messagebox recht einfach zB 10 Sekunden erscheinen lassen, wenn man nichts drückt passiert nichts, wenn man dann OK (oä) drückt wird dein Programm gestartet, etwa so:

; Starte mein Programm
$error = MsgBox(1,"Startup", "Wollen Sie das Programm xy starten?",10)
if $error = -1 Then Exit
Else
Run("C:\Programme\MeinProgramm.exe")
EndIf

Dieses Script setzt du dann anstelle deiner Batchdatei in den Autostart. Ich benutze AutoIt oft zum Paketieren von Programmen. Gibt bestimmt besseres, aber es hat eine Umfangreiche und einfache Oberfläche und ist für den Script einstieg ein geniales Tool.
Biber
Biber 25.09.2006 um 08:02:35 Uhr
Goto Top
Moin Enclave,

geht wirklich nicht gut mit native Batch, Deine Anforderung.
Ein Kompromiss wäre:
::--    snipp Countdown.bat
@echo off & For /L %%i in (1,1,5) do ((ping -n 2 localhost>nul) && Echo Druecken Sie Strg-C um das Laden der Programm abzubrechen. ^(%%i. von 5 Sekunden^))||goto :eof
echo hier ist Start von LadenDerProggies.exe 
::--    snapp Countdown.bat
Output wäre:
>f:\countdown.bat
Druecken Sie Strg-C um das Laden der Programm abzubrechen. (1. von 5 Sekunden)
Druecken Sie Strg-C um das Laden der Programm abzubrechen. (2. von 5 Sekunden)
Druecken Sie Strg-C um das Laden der Programm abzubrechen. (3. von 5 Sekunden)
^CBatchvorgang abbrechen (J/N)? j

Gruß
Biber
Enclave
Enclave 25.09.2006 um 15:44:08 Uhr
Goto Top
Also AutoIT hab ich mir schonmal angguckt aber ich komm da nich drauf klar...

Also ich weis nich wo und wie ich ein Script schreibe.

Wär geil wenn ihr mir mal ein kleines Tut geben könntet face-smile

@Biber:

Also das mit Strg+X ist nich so das was ich suche...

Mfg

Enclave
gijoe
gijoe 25.09.2006 um 22:37:51 Uhr
Goto Top
für AutoIt musst du dir noch den Editor runterladen (auch auf AutoIt page).
TobiasBessenreither
TobiasBessenreither 26.09.2006 um 08:56:51 Uhr
Goto Top
Also die Pause könnte man auch mit vbscript machen:

Datei sleep.vbs
WScript.sleep 10000

WScript.sleep "Zeit in ms"


und aus der *.bat mit:
cscript sleep.vbs > Nul
aufrufen
Turrex0100
Turrex0100 12.01.2009 um 18:18:57 Uhr
Goto Top
hi biber,
geht es nicht auch nach dem prinzip:

ping -n 2 127.0.0.1 >nul
cls
echo Druecken Sie Strg-C um das Laden der Programm abzubrechen. (1. von 5 Sekunden)
ping -n 2 127.0.0.1 >nul
cls

lg
Turrex
Biber
Biber 12.01.2009 um 18:40:55 Uhr
Goto Top
Moin Turrex0100,

klar, ginge auch...
Aber das eigentliche Problem, nämlich "beliebige Taste für Abbruch...", das bekommen wir mit Batch nicht so elegant hin.
Ich kann zwar 5x hintereineinander den Ping-Mich-Mal aufrufen, um je eine Sekunde zu verdaddeln und kann das in (m)einer Zählschleife oder in (D)einer plattgeklopften Schleife abkaspern.
Aber in jedem Fall nur mit "Strg-C" (und ggf. Nachfrage) abbrechen.
Und nicht mit beliebiger Taste.

Deshalb ist hier native Batch mal das eher ungeeignete Werkzeug.

Grüße
Biber
Turrex0100
Turrex0100 13.01.2009 um 18:20:49 Uhr
Goto Top
Hi Biber,

hab des problem jetzt auch erkannt...


sry wegen meiner "plattgeklopften" skripte, bin aber auch ein neuling
und mach das mehr aus spaß...

Hast aber recht das deine lösung eleganter ist....

lg Turrex