gtrdriver
Goto Top

MINI-Scheduler per Batch

Hallo Leute.

Ich stehe vor dem Problem, dass in bei einer großen Anzahl von Clients bei jedem Systemstart eine kleine Batch-DAtei ausführen muss.

Alle 30 Tage - oder bei jedem 30. Aufruf dieser Batch-Datei sollte dann einmalig ein weiteres Programam gestartet werden.
Die BAtchdatei wird bei jedem Systemstart aufgerufen - wobei es egal ist, ob nun 30mal Starten oder 30 Tage.

Ich habe für beide Fälle bisher nichts passendes gefunden.

Den Windows Scheduler kann ich NICHT benutzen.

Habt Ihr Lösungsvorschläge ?

Am liebsten währe mir eine einfache Batch lösung

CU
Axel

Content-ID: 91869

Url: https://administrator.de/forum/mini-scheduler-per-batch-91869.html

Ausgedruckt am: 22.12.2024 um 19:12 Uhr

Biber
Biber 11.07.2008 um 19:09:59 Uhr
Goto Top
Moin Axel,

willkommen im Forum.
ODER-Anforderungen finde ich genauso schwierig umzusetzen wie ODER-Fragen zu beantworten.

Aber wenn ich es mir aussuchen darf: nehmen wir die "Bei jedem Start"-Variante.
  • bei jedem Start durchläuft der User/die Userin die LoginSkripte und ggf. die ausführbaren Dateien im Autostart-Ordner. in einem von Beiden Skripten kannst Du Dich verewigen.
  • Definiere Dir eine Datei im %temp%-Verzeichnis, in der Du Denen zählerwert speicherst.
  • Erhöhe den Zählen bei jedem Skript-Durchlauf um 1
  • bei 30 werde aktiv.

Technische Details.
Definieren einer Datei im %temp%-Verzeichnis:
Set "zaehlerdatei=%temp%\zaehler_%username%.bla"  
Prüfen, ob die datei bereits existiert/ggf. anlegen.
if not exist "%zaehlerdatei%" echo 0 neubeginn >"%zaehlerdatei%"  
Danach:
For /f %%i in ("%zaehlerdatei%") do set /a cnt=%%i  
set /a cnt+=1
If %cnt% GEQ 30 goto :whereeverYouWutt
echo %cnt% going on >"%zaehlerdatei%"  

Grüße
Biber
Nobby1805
Nobby1805 11.07.2008 um 19:33:57 Uhr
Goto Top
Hi,

ich würde das ODER etwas anders interpretieren ... beim 30. Start oder nach 30 (oder mehr) Tagen, was immer zuerst kommt

Ich würde zusätzlich in der Datei das Datum der letzten Aktivität (am besten als Tageszahl seit Basis-Datum) speichern und wenn dann der Zähler oder die Diffrenz "letzter Lauf" zu aktuellem Datum 30 wird dann die Aktionen ausführen.

Grüße
Nobby
GTRDRIVER
GTRDRIVER 11.07.2008 um 23:02:14 Uhr
Goto Top
Hallo Ihr beiden,

ich möchte mich erstmal für das nette "Hallo" bedanken - JA - ich kenne dieses Formum schon länger und habe hier auch schon oft in Beiträgen zum Thema Windows Terminalserver gestöbert und den einen oder anderen praktischen Tipp gefunden.

Normalerweise bin ich eher in der Access/VBA Ecke unterwegs - aber BAT ist ja auch nicht TOT zu kriegen - habe mich aber nie tiefer mit dem Befehlssatz beschäftigt.....

Das "ODER" kommt von der Tatsache, dass ich mir nicht sicher war, wie "mächtig" der BAT Befehlssatz ohne irgendwelche Zusatz-Tools ist und daher dachte ich - eines von beiden wird schon gehen...... face-smile

Ich finde beide Ansätze interessant - ausserdem praktiziere ich schon seit DOS-Basic-Zeiten "Learning by Doing" - somit ist auch dies wieder ein neuer Teil, den man unter "interessant" speicher kann....

Daher werde ich beide Ansätze ausprobieren und austesten.

Selbstverständlich gibt es dann auch eine Rückmeldung.

CU
Axel

BTW: Natürlich könnte man das ganze auch als "ODER" Verknüpfung aufbauen face-smile))
GTRDRIVER
GTRDRIVER 12.07.2008 um 13:04:01 Uhr
Goto Top
Hallo

Leider läuft die Batch nicht durch:

C:\termreg>set /a cnt=C:\DOKUME~1\AXELGR~1\LOKALE~\Temp\zaehler_Axel
Fehlender Operator
Nobby1805
Nobby1805 13.07.2008 um 00:25:21 Uhr
Goto Top
lass in der For-Zeile die Gänsefüßchen um %zaehlerdatei% weg, bei mir klappt es dann