Batchdatei, Ausführbarkeit beschränken.
Hallo,
ich möchte eine Batchdatei erzeugen, die nur bis zu einem bestimmten Datum ausführbar ist. Das Zieldatum (Datum bis zu dem die Batchdatei ausgeführt werden kann), soll das Erstellungsdatum einer .jpg-Datei sein, die auf jedem der entsprechenden Rechner vorhanden ist (ZDate.jpg). Das Zieldatum der Batchdatei mitgeben wäre allerdings auch schon schön. Die Lösung über eine auszulesende Datei (ZDate.jpg) finde ich allerdings eleganter. Die könnte ich nämlich über ein Up- bzw. Download ggf. aktuallisieren.
Das ganze sollte unter XP und 2000 laufen und natürlich international sein, also in England, Frankreich, Deutschland oder sonstwo, funktionieren.
Habe mich bereit durch etliche Foren und Tutorials gewühlt, leider erfolglos...
Freue mich auf Eure Beiträge und bedanke mich recht artig für Eure Bemühungen!
Gruß,
Admin-san
ich möchte eine Batchdatei erzeugen, die nur bis zu einem bestimmten Datum ausführbar ist. Das Zieldatum (Datum bis zu dem die Batchdatei ausgeführt werden kann), soll das Erstellungsdatum einer .jpg-Datei sein, die auf jedem der entsprechenden Rechner vorhanden ist (ZDate.jpg). Das Zieldatum der Batchdatei mitgeben wäre allerdings auch schon schön. Die Lösung über eine auszulesende Datei (ZDate.jpg) finde ich allerdings eleganter. Die könnte ich nämlich über ein Up- bzw. Download ggf. aktuallisieren.
Das ganze sollte unter XP und 2000 laufen und natürlich international sein, also in England, Frankreich, Deutschland oder sonstwo, funktionieren.
Habe mich bereit durch etliche Foren und Tutorials gewühlt, leider erfolglos...
Freue mich auf Eure Beiträge und bedanke mich recht artig für Eure Bemühungen!
Gruß,
Admin-san
Please also mark the comments that contributed to the solution of the article
Content-Key: 53575
Url: https://administrator.de/contentid/53575
Printed on: April 23, 2024 at 15:04 o'clock
9 Comments
Latest comment
Moin Admin-san,
willkommen im Forum.
Im Bereich "Batch und Shell" findest Du im Tutorial (siehe Link unten) eine GetAllDateTimeInfos.bat zum Copy & Pasten.
Wenn die irgendwo verfügbar gemacht werden könnte, wäre folgende Skizze denkbar:
Gruss
Biber
willkommen im Forum.
Im Bereich "Batch und Shell" findest Du im Tutorial (siehe Link unten) eine GetAllDateTimeInfos.bat zum Copy & Pasten.
Wenn die irgendwo verfügbar gemacht werden könnte, wäre folgende Skizze denkbar:
:: ---------snipp DeinBatch.bat
@echo off & setlocal
....
If not exist d:\pfad\Zdate.jpg goto :eof
for /f %%i in ('dir /t:c d:\pfad\Zdate.jpg^|find /i "Zdate.jpg"') do call GetAllDateTimeInfos.bat "%%i" /s /q
Set FileCreationDate=%JJ%%MM%%TT%
call GetAllDateTimeInfos.bat "%date%i" /s /q
Set TodaysDate=%JJ%%MM%%TT%
GetAllDateTimeInfos.bat "%%i" /u
REM jetzt sollten in %todaysDate% und in %FileCreationDate% jeweils Strings im ANSI-Date-Format "20070308" stehen
Set /a Datediff=%FileCreationDate% - %TodaysDate%
If %DateDiff% LEQ 0 goto :eof
REM Andernfalls folgt jetzt das, was <i>eigentlich</i> ausgeführt werden soll
...
...
Gruss
Biber
Moin Admin-san,
gerade eben noch habe ich oben in meiner Skizze einen weiteren Tippfehler gesehen:
muss natürlich heißen (ohne das "i" nach %date%)
Also hier noch mal die (nach wie vor ungetestete Skizze im ganzen Satz:
Nochmal sorry für die Schlamperei.
Gruss
Biber
gerade eben noch habe ich oben in meiner Skizze einen weiteren Tippfehler gesehen:
call GetAllDateTimeInfos.bat "%date%i" /s /q
muss natürlich heißen (ohne das "i" nach %date%)
call GetAllDateTimeInfos.bat "%date%i" /s /q
Also hier noch mal die (nach wie vor ungetestete Skizze im ganzen Satz:
:: ---------snipp DeinBatch.bat
@echo off & setlocal
....
If not exist d:\pfad\Zdate.jpg goto :eof
for /f %%i in ('dir /t:c d:\pfad\Zdate.jpg^|find /i "Zdate.jpg"') do call GetAllDateTimeInfos.bat %%i /s /q
Set FileCreationDate=%JJ%%MM%%TT%
call GetAllDateTimeInfos.bat %date% /s /q
Set TodaysDate=%JJ%%MM%%TT%
Call GetAllDateTimeInfos.bat /u
REM jetzt sollten in %todaysDate% und in %FileCreationDate% jeweils Strings im ANSI-Date-Format "20070308" stehen
Set /a Datediff=%FileCreationDate% - %TodaysDate%
If %DateDiff% LEQ 0 goto :eof
REM Andernfalls folgt jetzt das, was eigentlich ausgeführt werden soll
...
...
Nochmal sorry für die Schlamperei.
Gruss
Biber