admin1987
Goto Top

Batchdatei Datum als Dateiname Problem Datum kurz und lang

Hallo ich habe ein Script welches mir das Datum als Parameter setzte

set jahr=%date:~-4%
set monat=%date:~-7,2%
set tag=%date:~-10,2%
set twdate=%jahr%%monat%%tag%

das ich es in meiner Sicherung als Teil eines Dateinames setzen kann.

Problem die Sicherung wird später bei vielen Kunden laufen, ich sehe ein Problem darin wenn jemand "Datum kurz"eingestellt hat im System da sich dann das Format verschiebt.

Wie kann ich dies Abfragen und falls ja andere Parameter setzen`?
Danke

lg chris

Content-ID: 81997

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

Printed on: December 13, 2024 at 03:12 o'clock

miniversum
miniversum Feb 29, 2008, updated at Oct 18, 2012 at 16:35:26 (UTC)
Goto Top
Das würde so gehen:
if %date:~-3,1% neq 0 (
set jahr=%date:~-2%
) else (
set jahr=%date:~-4%
)
set monat=%date:~-7,2%
set tag=%date:~-10,2%
set twdate=%jahr%%monat%%tag%
Es wird hier überprüft ob an der 3.letzten Stelle des Datums eine 0 steht. Das ist imem ran der Fall wenn das Jahr 2008 ist. Das Funktioniert bis ins Jahr 2100 und sollte denke ich ausrechend sein ;)

Allerdings ist diese Lösung auch nicht ganz kompartibel. Sollte jemand eine Ganz andere Formatierung des Datums haben, also nicht tt.mm.jjjj sondern z.B. mm-tt-jjjj oder sonst wie, würde das ganze nicht mehr passen. Wenn du das aber sicherstellen kannst ist es kein Problem.
Zu der ganzen Problematik gibt es auch ein Tutorial: Workshop Batch for Runaways - Part III - Datums- und Zeitvariablen im Batch

miniversum
Biber
Biber Mar 04, 2008 at 07:16:59 (UTC)
Goto Top
Moin admin1987,

hat Dir miniversums Tipp geholfen? Hast Du eine Lösung für Dich gefunden?

Grüße
Biber
admin1987
admin1987 Mar 04, 2008 at 07:18:04 (UTC)
Goto Top
Guten Morgen!

Ja super habe es gerade integriert, genau das was ich suche-
VIELEN VIELEN DANK!!!

lg chris