jgeorg
Goto Top

Im Taskplaner Skripte im wöchentlichen Wechsel eintragen

Hallo,

ich habe ein kleines Problem und finde da keine brauchbare Lösung.

Situation: Zwei Backupskripte sollen im wöchentlichen Wechsel jeweils mo-fr um 23:00 aufgerufen werden. Leider finde ich kein geeignete Möglichkeit, dies über den Taskplaner zu regeln. Oder bin ich nur zu dumm, die richtigen Daten einzugeben?

Für Tipps wäre ich sehr dankbar.

Gruß

Jens

Content-Key: 101100

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

Ausgedruckt am: 28.03.2024 um 19:03 Uhr

Mitglied: Biber
Biber 05.11.2008 um 15:39:00 Uhr
Goto Top
Moin jgeorg,

willkommen im Forum.
Ich will ja nicht unangenehmen Fragen aus dem Wege gehen, aber...

Wäre es nicht einfacher, EINEN Job anzulegen und in dem Job zu prüfen, ob die Kalenderwoche gerade oder ungerade ist?

Mein' ja nur...
Biber
Mitglied: AndreasHoster
AndreasHoster 05.11.2008 um 15:42:50 Uhr
Goto Top
Ich würde immer ein Skript aufrufen und in diesem eine Unterscheidung reinprogrammieren und von dem die weiteren Skripte aufrufen.
Also z.B. ungerade Kalenderwochen Skript1, gerade Skript2.

Im Taskmanager direkt wüsste ich auch keine sinnvolle Möglichkeit.
Mitglied: wakko
wakko 05.11.2008 um 17:07:52 Uhr
Goto Top
Moin,

man könnte sonst ein weiteres Skript schreiben das Skript1 in temp umbenennt und Skript2 in Skript1 und dann temp in Skript2 (wg. überschreiben), das weitere und das Skript1 wöchentlich ausführen...

Gruß,
Henrik
Mitglied: jgeorg
jgeorg 05.11.2008 um 18:14:48 Uhr
Goto Top
Hallo Biber,

Du hast absolut recht, wollte ich auch so machen. Aber leider mache ich wohl irgendwas beim berechnen der Kalenderwochen falsch. Wenn jemand einen Tipp hat, wäre ich sehr dankbar. .bat oder .vbs geht beides.

Gruß
Jens
Mitglied: Biber
Biber 05.11.2008 um 18:35:53 Uhr
Goto Top
Moin jgeorg,

so als Schnellschnuss am CMD-Prompt wären die Bausteine:
(=18:23:47  E:\=)
>echo Wscript.echo datepart("ww", wscript.arguments(0)) >kw.vbs  

(=18:23:55  E:\=)
>cscript //nologo kw.vbs 28.10.2008
44
... wobei ja nun vollkommen egal ist, ob diese VBS-Kalenderwochenberechnung nun mit irgendeiner DIN- oder ISO-Norm konform geht... wichtig ist ja nur, dass jeweils die Montage-Freitage einer Woche eine andere Ergebnis-Zahl bekommen als die der Woche vorher.

Also im Backup-Batch dann eben.

.....

echo Wscript.echo datepart("ww", now) >%temp%\kw.vbs  
For /F %%i in ('cscript //nologo %temp%\kw.vbs') do Set KW=%%i  
:: in %KW% steht jetzt also z.b. 45
:: jetzt noch mit Modulo 2 feststellen, ob gerade oder ungerade
Set /a "GeradeUngerade=kw % 2"  
:: jetzt steht in GeradeUngerade also eine 0 oder eine 1...
....

Grüße
Biber
Mitglied: jgeorg
jgeorg 05.11.2008 um 18:49:48 Uhr
Goto Top
Hallo Biber,

sieht gut aus. Funktioniert bei mir aber nicht mehr in Zeile 07. Ich bekomme immer die Meldung, dass dem SET-Befehl ein Operator fehlt. Auf der Konsole wird auch nur Set /a "GeradeUngerade=kw 2" ausgegeben. Das % fehlt. Ich habe es unter XP prof. SP3 getestet.

Gruß

Jens
Mitglied: bastla
bastla 05.11.2008 um 18:55:28 Uhr
Goto Top
Hallo jgeorg!

Spendiere dem Ausdruck in Zeile 07. noch ein zweites "%" ...

Grüße
bastla
Mitglied: Biber
Biber 05.11.2008 um 18:56:31 Uhr
Goto Top
Moin jgeorg,

sorry, dann wohl ein %-Zeichen mehr im Batch... ich kann mir sowas immer so schlecht merken.

Ich glaube also mittlerweile, folgende Batch-Syntax wäre richtiger:
Set /a "GeradeUngerade=kw %% 2"
habe es aber jetzt nicht getestet.

Grüße
Biber
[Edit} Immer diese Rechtsüberholer... face-wink[/Edit]
Mitglied: jgeorg
jgeorg 05.11.2008 um 19:09:25 Uhr
Goto Top
Hallo Biber,

danke für die Korrektur. Ich glaube, dass ich jetzt eine gute Basis zum Anpassen habe. Sag mal, gibt es irgendwo frei verfügbare Tutorials für .BAT/.VBS Sprachen? Ich komme aus der Unix-Welt und habe viel mit Skripten regeln können. Das würde ich unter Windows gerne weitermachen. Leider fehlen mir aber die Basics der Sprachen.

Danke und Gruß

Jens

Zitat von @Biber:
Moin jgeorg,

sorry, dann wohl ein %-Zeichen mehr im Batch... ich kann mir sowas
immer so schlecht merken.

Ich glaube also mittlerweile, folgende Batch-Syntax wäre
richtiger:
> Set /a "GeradeUngerade=kw %% 2"
habe es aber jetzt nicht getestet.

Grüße
Biber
[Edit} Immer diese Rechtsüberholer... face-wink[/Edit]