Per Batch das Date -1 rechnen
Moin,
für die Überschrift is mir nichts bessere eingefallen.
Ich wollt mir für nen FTP Script nen String bauen der mir das aktuelle Datum ausgibt und den Tag - 1 Rechnet.
Mein Script sieht so aus:
Das funktioniert soweit wunderhübsch und schön, alles in einer Forschleife lief nicht so schön, da wollte er mir Z nicht berechnen.
Meine erste Frage ist nun, wo lag mein Fehler?
Vorher sah es so aus:
Und meine zweite: Gibt es einen eleganteren Weg als die Lösung die von mir nun Funktioniert?
Ich mein Elegant an sich isses, es wird alles einzelnd berechnet, aber das muss doch auch in EINER schleife gehen oder nicht?
Gruß der Zero
für die Überschrift is mir nichts bessere eingefallen.
Ich wollt mir für nen FTP Script nen String bauen der mir das aktuelle Datum ausgibt und den Tag - 1 Rechnet.
Mein Script sieht so aus:
@echo on
FOR /f "tokens=1-3 delims=. " %%G IN ('date /t') DO set /a Z=%%G-1
FOR /f "tokens=1-3 delims=. " %%J IN ('date /t') DO set datestring=%%L_%%K_%Z%
echo %datestring%
pause
Das funktioniert soweit wunderhübsch und schön, alles in einer Forschleife lief nicht so schön, da wollte er mir Z nicht berechnen.
Meine erste Frage ist nun, wo lag mein Fehler?
Vorher sah es so aus:
FOR /f "tokens=1-3 delims=. " %%G IN ('date /t') DO (
set /a Z=%%G-1
set datestring=%%I_%%H_%Z%
)
echo %datestring%
pause
Und meine zweite: Gibt es einen eleganteren Weg als die Lösung die von mir nun Funktioniert?
Ich mein Elegant an sich isses, es wird alles einzelnd berechnet, aber das muss doch auch in EINER schleife gehen oder nicht?
Gruß der Zero
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 194301
Url: https://administrator.de/contentid/194301
Ausgedruckt am: 21.11.2024 um 17:11 Uhr
3 Kommentare
Neuester Kommentar
moin,
die erste Zeile im ersten Script sieht ja schon mal sehr gut aus
Nur stelle ich mir grad die Frage - was passiert am Monatsersten?
die erste Zeile im ersten Script sieht ja schon mal sehr gut aus
Nur stelle ich mir grad die Frage - was passiert am Monatsersten?
- entweder das Datum um 23.58 abfragen und einen Tag später benutzen...
- oder einen 3zeiler mit nem vbs verwursten
echo on
echo Wscript.Echo Date() - 1>%temp%\yesterday.vbs
for /f "tokens=1-3 delims=." %%a in ('cscript /nologo %temp%\yesterday.vbs') do echo %%a_%%b_%%c
Hallo ColdZero89!
Grüße
bastla
Juckt mich dennoch wie das in Batch so funktionieren würd.
Zur Abschreckung : Morgiges Datum in Batchdatei bestimmen ...Grüße
bastla