Wochentag ermitteln, Samstag und Sonntag mit Fehler
Schönen guten Tag,
ich habe hier ein kleines Skript, mit dem man die Wochentagnummer und den Wochennamen auswertet und zusammenfasst.
Von Montag bis Freitag ist alles OK. Als Ergebnis kommt z.B. 4_Donnerstag heraus.
Bei Samstag und Sonntag kommt aber ein Fehler -> siehe unten Zeile 10. Könnte mir dabei bitte jemand helfen?
Bei Sonntag kommt z.B. die "0" als Ergebnis statt die "7". Aber damit kann ich leben.
Viele Grüße
ich habe hier ein kleines Skript, mit dem man die Wochentagnummer und den Wochennamen auswertet und zusammenfasst.
REM Wochentag als Zahl
for /F "skip=2 tokens=2-4 delims=," %%A in ('WMIC Path Win32_LocalTime Get DayOfWeek /Format:csv') do set "Tagnummer=%%A"
echo %Tagnummer%
REM Wochentag ausgeschrieben
set daysofweek=Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag,Sonntag
for /F "tokens=%Tagnummer% delims=," %%B in ("%daysofweek%") do set Tagname=%%B
echo %Tagname%
Set Wochentag=%Tagnummer%_%Tagname%
echo %Wochentag%
Von Montag bis Freitag ist alles OK. Als Ergebnis kommt z.B. 4_Donnerstag heraus.
Bei Samstag und Sonntag kommt aber ein Fehler -> siehe unten Zeile 10. Könnte mir dabei bitte jemand helfen?
Bei Sonntag kommt z.B. die "0" als Ergebnis statt die "7". Aber damit kann ich leben.
C:\Users\ich\Desktop>REM Wochentag als Zahl
C:\Users\ich\Desktop>for /F "skip=2 tokens=2-4 delims=," %A in ('WMIC Path Win32_LocalTime Get DayOfWeek /Format:csv') do set "Tagnummer=%A"
" \Users\ich\Desktop>set "Tagnummer=0
C:\Users\ich\Desktop>echo 0
0
C:\Users\ich\Desktop>REM Wochentag ausgeschrieben
C:\Users\ich\Desktop>set daysofweek=Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag,Sonntag
C:\Users\ich\Desktop>for /F "tokens=0 delims=," %B in ("Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag,Sonntag") do set Tagname=%B
" delims=,"" kann syntaktisch an dieser Stelle nicht verarbeitet werden.
C:\Users\ich\Desktop>echo
ECHO ist eingeschaltet (ON).
C:\Users\ich\Desktop>Set Wochentag=0_
C:\Users\ich\Desktop>echo 0_
Viele Grüße
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 2795941908
Url: https://administrator.de/contentid/2795941908
Ausgedruckt am: 19.11.2024 um 11:11 Uhr
4 Kommentare
Neuester Kommentar
Moin,
Sonntag hat auch den Wert 0 und Montag bis Samstag 1-6. Die Fehlermeldung erscheint, da "Tokens=0" keinen Sinn ergibt.
Kann man, wenn man unbedingt will, auch von batch aus:
Powershell Leitfaden für Anfänger
Gruß Thomas
Sonntag hat auch den Wert 0 und Montag bis Samstag 1-6. Die Fehlermeldung erscheint, da "Tokens=0" keinen Sinn ergibt.
Könnte mir dabei bitte jemand helfen?
Mit Powershell geht das Ganze erheblich leichter:Get-Date -Format "dddd"
Kann man, wenn man unbedingt will, auch von batch aus:
for /f %%B in ('powershell -Command Get-Date -Format "dddd"') do set Tagname=%%B
Powershell Leitfaden für Anfänger
Gruß Thomas
Servus,
die 0 für Sonntag ist normal, siehe https://docs.microsoft.com/de-de/previous-versions/windows/desktop/wmiti ...
Bei Sonntag kommt z.B. die "0" als Ergebnis statt die "7". Aber damit kann ich leben.
die 0 für Sonntag ist normal, siehe https://docs.microsoft.com/de-de/previous-versions/windows/desktop/wmiti ...
Bei Sonntag kommt z.B. die "0"
Logisch, der Sonntag ist ja auch nicht der letzte Tag der Woche, sondern der erste. Die Woche mit ihren sieben Tagen stammt ja aus der biblischen Schöpfungsgeschichte. Der letzte Tag der Schöpfungswoche war der Sabbat, an dem Gott ruhte und auch die Menschen ruhen sollten. Der entspricht aber nicht dem Sonntag, sondern dem Samstag. Dass heute unser "Wochen-Feiertag" der Sonntag ist, liegt an den ersten Christen, die nicht mehr den Sabbat begingen, sondern den Tag der Auferstehung Jesu - und das ist lt. Lk 24,1 der erste Tag der Woche gewesen. Im Laufe der Zeit fielen dann in manche christlich-geprägten Länder der Sonntag mit dem arbeitsfreien Sabbat gefühlt zusammen und der Sonntag wanderte als neuer Sabbat an das Ende der Kalenderwoche. Ich weiß nicht, ob das mit Luther zusammenhängt, der ja das dritte Gebot nicht mehr bibelgetreu mit "Heilige den Sabbat", sondern mit "Heilige den Feiertag" übersetzt hat.
Die angelsächsischen Länder zählen aber weiter richtig, also den Sonntag als ersten Tag der Woche.