Supportnet / Forum / BS-Sonstige
Datum per Batchdatei auslesen
Frage
Hallo...
ich wollte mit einer Batchdatei das Systemdatum auslesen und dann mit einer if anweisung z.B. jeden Monat eine Nachricht senden...
aber wie kann ich dem Datum dem Tag entziehen bzw. auslesen und dann weiterverarbeiten...
hoffe mir kann wer halfen...
Gruß,
Bob
Antwort 1 von Massaraksch
Welches Betriebssystem?
("DOS" kann vieles bedeuten)
Massaraksch
("DOS" kann vieles bedeuten)
Massaraksch
Antwort 2 von Massaraksch
Über die "Suche im Forum" gefunden:
https://supportnet.de/discussion/listmessages.asp?AutoID=174458&...
Sollte dir die nötigen Anregungen geben.
Massaraksch
https://supportnet.de/discussion/listmessages.asp?AutoID=174458&...
Sollte dir die nötigen Anregungen geben.
Massaraksch
Antwort 3 von Bob der Braumeister
das BS is Win2k...
mein Problem is... das Datum auslesen ansich is keine schwere sache...
nur er gibt mir dann z.B. aus: Mi 07.07.2004
und ich möchte nur mit dem Mi weiterarbeiten...
sprich er soll prüfen ob Mo, Di oder Mi ist und dann z.b: am entsprechenden Tag ne nachricht senden...
aber trotzdem danke...
Bob
mein Problem is... das Datum auslesen ansich is keine schwere sache...
nur er gibt mir dann z.B. aus: Mi 07.07.2004
und ich möchte nur mit dem Mi weiterarbeiten...
sprich er soll prüfen ob Mo, Di oder Mi ist und dann z.b: am entsprechenden Tag ne nachricht senden...
aber trotzdem danke...
Bob
Antwort 4 von shorty07
for /F "tokens=2,2,*" %%j in ('date /t') Do set datum=%%j
for /f "tokens=1,2,* delims=." %%i in ('echo %datum%') do set tag=%%i
for /f "tokens=1,2,* delims=." %%i in ('echo %datum%') do set monat=%%j
for /f "tokens=1,2,* delims=." %%i in ('echo %datum%') do set jahr=%%k
set tag=%tag:~0,1%%tag:~1,1%
set monat=%monat:~0,1%%monat:~1,1%
set jahr=%jahr:~0,1%%jahr:~1,1%%jahr:~2,1%%jahr:~3,1%
so kannst du Teile auseinanderschneiden.
for /f "tokens=1,2,* delims=." %%i in ('echo %datum%') do set tag=%%i
for /f "tokens=1,2,* delims=." %%i in ('echo %datum%') do set monat=%%j
for /f "tokens=1,2,* delims=." %%i in ('echo %datum%') do set jahr=%%k
set tag=%tag:~0,1%%tag:~1,1%
set monat=%monat:~0,1%%monat:~1,1%
set jahr=%jahr:~0,1%%jahr:~1,1%%jahr:~2,1%%jahr:~3,1%
so kannst du Teile auseinanderschneiden.
Antwort 5 von BASSIX
Hallo zusammen,
@ shorty07 vielen dank!
So wird das aktuelle Datum in einzelne Variablen ausgelesen:
(mein OS is CDM von XP)
FOR /F "TOKENS=3,4,* DELIMS=." %%I IN (´ECHO %DATE%´) DO SET YYYY=%%I
FOR /F "TOKENS=2,2,* DELIMS=." %%I IN (´ECHO %DATE%´) DO SET MM=%%I
FOR /F "TOKENS=1,2,* DELIMS=." %%I IN (´ECHO %DATE%´) DO SET DD=%%I
Grüße an die Füße!
bassix
@ shorty07 vielen dank!
So wird das aktuelle Datum in einzelne Variablen ausgelesen:
(mein OS is CDM von XP)
FOR /F "TOKENS=3,4,* DELIMS=." %%I IN (´ECHO %DATE%´) DO SET YYYY=%%I
FOR /F "TOKENS=2,2,* DELIMS=." %%I IN (´ECHO %DATE%´) DO SET MM=%%I
FOR /F "TOKENS=1,2,* DELIMS=." %%I IN (´ECHO %DATE%´) DO SET DD=%%I
Grüße an die Füße!
bassix
Antwort 6 von BASSIX
Nochmal hallo,
@ all:
leider funzt das hier:
FOR /F "TOKENS=3,4,* DELIMS=." %%I IN (´ECHO %DATE%´) DO SET YYYY=%%I
FOR /F "TOKENS=2,2,* DELIMS=." %%I IN (´ECHO %DATE%´) DO SET MM=%%I
FOR /F "TOKENS=1,2,* DELIMS=." %%I IN (´ECHO %DATE%´) DO SET DD=%%I
ja leider nicht in REAL DOS MODE von MS DOS 7 :-(((
kann mir da jemand weiterhelfen?
ich bräuchte Variablen mit akutellem Datum, Jahr(4-stellig) eine, Monat eine, und Tag eine. Da das ganze teil eines progrämmchens auf boot-cd werden soll, würde ich nur ungern umleitungen in tmp-dateinen verwenden (zwingt ja dann zu xmsdsk), ebenso sind echos im prompt dann auch unschön...
ich weiß, dass sind fromme wünsche, aba vielleicht hat ja jemand den geistesblitz ;-)
würd mich echt freuen...
ps: alternativ auch gern irgendwelche progrämmchen a la *.com oder so die obiges können!
vielen dank.
grüßlies
bassix
@ all:
leider funzt das hier:
FOR /F "TOKENS=3,4,* DELIMS=." %%I IN (´ECHO %DATE%´) DO SET YYYY=%%I
FOR /F "TOKENS=2,2,* DELIMS=." %%I IN (´ECHO %DATE%´) DO SET MM=%%I
FOR /F "TOKENS=1,2,* DELIMS=." %%I IN (´ECHO %DATE%´) DO SET DD=%%I
ja leider nicht in REAL DOS MODE von MS DOS 7 :-(((
kann mir da jemand weiterhelfen?
ich bräuchte Variablen mit akutellem Datum, Jahr(4-stellig) eine, Monat eine, und Tag eine. Da das ganze teil eines progrämmchens auf boot-cd werden soll, würde ich nur ungern umleitungen in tmp-dateinen verwenden (zwingt ja dann zu xmsdsk), ebenso sind echos im prompt dann auch unschön...
ich weiß, dass sind fromme wünsche, aba vielleicht hat ja jemand den geistesblitz ;-)
würd mich echt freuen...
ps: alternativ auch gern irgendwelche progrämmchen a la *.com oder so die obiges können!
vielen dank.
grüßlies
bassix
Antwort 7 von Massaraksch
Ein Bekannter von mir hat sowas mal geschrieben: "DatSet für DOS/Win9x"
Sollte genau deine gewünschten Variablen erzeugen.
Übrigens geht das Setzen dieser Variablen unter W2K und XP auch einfacher, z.B.
(einfach mal die SET-Syntaxhilfe anschauen und damit die bestehende Variable %date% "auseinandernehmen")
Die etwas umständlichere Art mit dem FOR-Befehl stammt noch aus NT-Zeiten, wo es die %date% und %time%-Variablen noch nicht gab.
Massaraksch
Sollte genau deine gewünschten Variablen erzeugen.
Übrigens geht das Setzen dieser Variablen unter W2K und XP auch einfacher, z.B.
set YYYY=%date:~-4%(einfach mal die SET-Syntaxhilfe anschauen und damit die bestehende Variable %date% "auseinandernehmen")
Die etwas umständlichere Art mit dem FOR-Befehl stammt noch aus NT-Zeiten, wo es die %date% und %time%-Variablen noch nicht gab.
Massaraksch
Antwort 8 von bb_dn
Noch ein Tip:
Auf der Webseite www.shamrock.de findest Du unter "Freeware" -> "Dostools" -> "Utilities" viele nützliche Tools. Unter anderem auch IFWEKDAY. Damit müßtest Du Dein Problem lösen können. Eine Beschreibung wird mitgeliefert.
Gruß
Bruno
Auf der Webseite www.shamrock.de findest Du unter "Freeware" -> "Dostools" -> "Utilities" viele nützliche Tools. Unter anderem auch IFWEKDAY. Damit müßtest Du Dein Problem lösen können. Eine Beschreibung wird mitgeliefert.
Gruß
Bruno

