avalon1
Goto Top

Robocopy - Datum vom Vortag

Servus

ich habe eine Frage und zwar speichern wir immer diverse Listen ab
und diese sind aber immer von Vortag ( sprich Ordnername = Datum von gestern ).

Jetzt müssten wir diese Dateien die sich darin befinden kopieren.

Das Problem ist wir müssten am z.b. 26.5.2011
die Daten aus dem Ordner mit Namen "25.05.2011" kopieren.

Ich weiß nicht wie ich das Datum des Vortages ansprechen kann.

Das hab ich bis dato:

robocopy "\\142.65.10.1\public\Tageslisten\%date:~-4,4% - MONATSLISTEN\Monatslisten %date:~-7,2% %date:~-4,4%\TÄGLICH\%date:~-10,2%.%date:~-7,2%.%date:~-4,4%\"  

das Problem ist das letzte Datum mit dem Format TT.MM.YYYY
da müsste ich den Vortag auslesen

wie mache ich aus

%date:~-10,2%

den Vortag?

lg
ava

Content-ID: 166980

Url: https://administrator.de/forum/robocopy-datum-vom-vortag-166980.html

Ausgedruckt am: 23.12.2024 um 13:12 Uhr

Snowman25
Snowman25 26.05.2011 um 14:35:49 Uhr
Goto Top
Servus @Avalon1,

vielleicht so:
set /a olddate=%date:~-10,2% -1
Probleme wirst du dann am Anfang des Monats haben, da dann der 0. herauskommt. hier müsstest du also auch noch den Monat heraussuchen und um 1 verringern, sowie die Tagesanzahl auf den letzten des Monats setzen.
Das Skript hierzu kannst du dir sicherlich selbst zusammenbasteln.

Gruß
Snow
Avalon1
Avalon1 26.05.2011 um 14:38:17 Uhr
Goto Top
super danke dir!!

beim rest bin ich grad dabei...

lg
ava
60730
60730 26.05.2011 um 15:01:19 Uhr
Goto Top
moin,

ich weiß ja nicht warum ihr immer alle rechnen wollt - da es bei mir eh nur bis 3 (oder wieviele Finger hat man an einer Hand, wenn man nicht im Sägewerk arbeitet) klappt - lasse ich das komplett weg.
(und den Schmarren um den 8. und 9. tag im Monat spare ich mir auch)
C:\>echo %date%
08.05.2011

C:\>set /a olddate=%date:~-10,2% -1
Ungültige Zahl. Nummerische Konstanten sind entweder dezimale (17),
hexadezimale (0x11) oder oktale (021) Zahlen.

meine Scripte laufen um 23:58 da hole ich mir alle Dateien in eine temporäre 2do.ini und die arbeite ich dann ab, wann ich will - zur not auch nach 4 monaten und 2 tagen...

echo robocopy "\\142.65.10.1\public\Tageslisten\%date:~-4,4% - MONATSLISTEN\Monatslisten %date:~-7,2% %date:~-4,4%\TÄGLICH\%date:~-10,2%.%date:~-7,2%.%date:~-4,4%\">2do.cmd  
edit - wobei das mit dem Täglich natürlich nur mit einem vorherigen CHCP läuft /edit

Gruß
Friemler
Friemler 26.05.2011 um 15:26:11 Uhr
Goto Top
Hallo Avalon1,

außer der von T-Mo angesprochenen Möglichkeit, den Prozess so zu gestalten, dass nicht gerechnet werden muss, gibt es in VBScript noch die Funktion DateAdd. Ein kleines VBS-Inlinescript könnte Dir Dein gewünschtes Datum erzeugen. Die Rechnerei mit Datumswerten in native Batchscript ist Murks. Was ist mit Jahreswechsel, Schaltjahren?

Gruß
Friemler