Dies ist ein etwas spezielles Skript, aber vielleicht für den ein oder anderen für eine ähnliche Aufgabe brauchbar.
Für die Anzeige von aktueller Werbung müssen regelmäßig die Werbebildchen getauscht werden, was leider öfters vergessen wird und sich über die vorhandene Software leider nicht regeln ließ. Deshalb wird nun täglich abends mit Hilfe der Aufgabenplanung dieses Skript ausgeführt. Die Steuerung an welchem Tag die Werbung getauscht wird erfolgt in dem Skript selbst, sodass man nicht umständlich in der Aufgabenplanung immer etwas anpassen muss.
Das Ziel ist es bei Aktionsende vorübergehend auf Standard-Werbung, die immer gültig ist, umzuschalten. Wenn dann die neue Aktion startet wird wiederum auf die aktuelle Werbung, sofern diese eingepflegt wurde, umgeschaltet. Ansonsten gibt es einen Fallback auf die Standard-Werbung.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
:: Tag an dem die aktuelle Aktion endet set aktion_ende=28.02.2017 :: einen Tag vor Beginn der neuen Aktion set aktion_start=01.03.2017 :: ermitteln ob neue Werbung verfuegbar ist set count=0 for %%i in (C:\Werbung\Neu\*) do set /a count+=1 if %date%==%aktion_ende% ( :::: Standard-Werbung entfernen, falls keine Aktionswerbung vorhanden ist, :::: damit diese nicht im Alt-Ordner landen kann del C:\Werbung\Anzeige\Standard*.jpg :::: Alte Aktionswerbung in "Alt" verschieben copy C:\Werbung\Anzeige\*.jpg C:\Werbung\Alt\ del C:\Werbung\Anzeige\*.jpg :::: Standard-Werbung einpflegen copy C:\Werbung\Standard\*.jpg C:\Werbung\Anzeige\ ) if %date%==%aktion_start% ( :::: erst mal auf Standard-Werbung umstellen, falls das :::: Ende der letzten Aktion nicht gepflegt wurde :::: Standard-Werbung entfernen, falls keine Aktionswerbung vorhanden ist, :::: damit diese nicht im Alt-Ordner landen kann del C:\Werbung\Anzeige\Standard*.jpg :::: Alte Aktionswerbung in "Alt" verschieben copy C:\Werbung\Anzeige\*.jpg C:\Werbung\Alt\ del C:\Werbung\Anzeige\*.jpg :::: Standard-Werbung einpflegen copy C:\Werbung\Standard\*.jpg C:\Werbung\Anzeige\ :::: Wenn neue Werbung vorhanden ist, dann auf diese wechseln if %count% gtr 0 ( :::::::: Standard-Werbung entfernen del C:\Werbung\Anzeige\Standard*.jpg :::::::: Neue Aktionswerbung aus "Neu" verschieben copy C:\Werbung\Neu\*.jpg C:\Werbung\Anzeige\ del C:\Werbung\Neu\*.jpg ) ) |
Der Grund warum ich den move-Befehl gemieden und stattdessen copy und del benutzt habe ist mir gerade entfallen, aber ich meine es gab ein unschönes Problem mit der Wildcard.
FileChange.bat