Seite 1 von 1

Windows 11 KB5072033 Batch-Problem in String-Verarbeitung

Verfasst: 10.12.2025, 14:43
von Doberstw
Hallo,

heute Morgen habe ich KB5072033 in Windows 11 25H2 installiert.
Danach funktionierte ein Batch-Skript, das jahrelang fehlerfrei arbeitete, nicht mehr.
Ein Befehl zur Extrahierung von Day-of-Week hatte anscheinend ein Problem:

for /f %%g in ('wmic path win32_localtime get dayofweek^|findstr /v /r "^$"') do (set DOW=%%g)

Details kann ich leider nicht liefern, aber nachdem ich das KB5072033 zurückgedreht hatte, lief alles wieder wie gewünscht.

Vielleicht stößt der Eine oder Andere ja auf ein ähnliches Problem. Dann hilft vielleicht mein Post weiter.

Gruß

Wilfried

Re: Windows 11 KB5072033 Batch-Problem in String-Verarbeitung

Verfasst: 10.12.2025, 16:42
von DK2000
Könnte an wmic liegen. Ist bei mir jedenfalls nicht installiert. Weiß jetzt aber nicht, ob ich das vorher installiert hatte. Lange nicht mehr verwendet. Kann man aber noch über die optionalen Features nachinstallieren.

Re: Windows 11 KB5072033 Batch-Problem in String-Verarbeitung

Verfasst: 10.12.2025, 17:04
von Blondi_2021

Re: Windows 11 KB5072033 Batch-Problem in String-Verarbeitung

Verfasst: 10.12.2025, 17:14
von DK2000
Ich habe jetzt mal wmic installiert und läuft wohl so weit. Ich bekomme "3" aus dayofweek angezeigt. Sollte stimmen, oder?

Re: Windows 11 KB5072033 Batch-Problem in String-Verarbeitung

Verfasst: 10.12.2025, 17:46
von Doberstw
Ich glaube nicht, dass wmic das Problem ist, sondern das zugegebenermaßen kompliziert aussehende Abgreifen der Ziffer für
Day-of-Week. Diese Skriptzeile habe ich vor Jahren mal aus einem Beispiel im Netz entlehnt.

Wenn jemand eine andere, einfachere Lösung bieten kann, um die Ziffer (heute = 3) in der Variablen DOW zu speichern, ist diese natürlich herzlich willkommen.

Re: Windows 11 KB5072033 Batch-Problem in String-Verarbeitung

Verfasst: 10.12.2025, 17:55
von DK2000
Also ich habe es getestet. DOW=3. Macht er bei mir ohne Probleme. Leichter würde es nur in der PowerShell gehen:

Code: Alles auswählen

(Get-CimInstance -ClassName win32_localtime).DayOfWeek
Das gibt direkt "3" zurück. wmic gibt da halt "DayOfWeek" und "3" zurück und das "DayOfWeek" muss halt raus. Einfacher wäre:

Code: Alles auswählen

for /f "skip=1" %%g in ('wmic path win32_localtime get dayofweek') do (set DOW=%%g)
Das überspringt "DayOfWeek" und gibt nur "3" zurück und schreibt das in die Variable DOW.

Aber bei mir funktionieren alle Lösungen. Was klappt denn bei Dir nicht?

Aber frage mich, was das ^|findstr /v /r "^$"' bewirken soll. Geht auch ohne.

Re: Windows 11 KB5072033 Batch-Problem in String-Verarbeitung

Verfasst: 10.12.2025, 18:08
von Doberstw
Das ^|findstr /v /r "^$"' habe ich einfach übernommen und war froh, dass es funktionierte.
Nur eben nicht mehr nach dem KB5072033.

Ich werde deinen zweiten Vorschlag in das Skript einbauen und ohne KB5072033 testen.
Wenn es funktioniert, werde ich KB5072033 installieren, nochmal testen und berichten.

Erstmal vielen Dank DK2000

Gruß

Wilfried

Re: Windows 11 KB5072033 Batch-Problem in String-Verarbeitung

Verfasst: 10.12.2025, 20:01
von Doberstw
DK2000 hat geschrieben: 10.12.2025, 17:55 Also ich habe es getestet. DOW=3. Macht er bei mir ohne Probleme. Leichter würde es nur in der PowerShell gehen:

Code: Alles auswählen

(Get-CimInstance -ClassName win32_localtime).DayOfWeek
Das gibt direkt "3" zurück. wmic gibt da halt "DayOfWeek" und "3" zurück und das "DayOfWeek" muss halt raus. Einfacher wäre:

Code: Alles auswählen

for /f "skip=1" %%g in ('wmic path win32_localtime get dayofweek') do (set DOW=%%g)
Das überspringt "DayOfWeek" und gibt nur "3" zurück und schreibt das in die Variable DOW.

Aber bei mir funktionieren alle Lösungen. Was klappt denn bei Dir nicht?

Aber frage mich, was das ^|findstr /v /r "^$"' bewirken soll. Geht auch ohne.
Test-Skript.cmd.txt
Leider funktioniert dein Befehl nicht. Ich habe das Skript soweit reduziert, dass nur noch unsere beiden Varianten enthalten sind und das Ergebnis in eine Log-Datei ausgegeben. Skript und Log-Datei habe ich angehängt.

Re: Windows 11 KB5072033 Batch-Problem in String-Verarbeitung

Verfasst: 10.12.2025, 20:23
von Doberstw
Jetzt habe ich Beispiel mit Powershell gefunden, das nicht so kompliziert aussieht und auch funktioniert:

for /f %%d in ('"powershell (Get-Date).DayOfWeek.Value__"') do set dow=%%d

Re: Windows 11 KB5072033 Batch-Problem in String-Verarbeitung

Verfasst: 14.12.2025, 19:13
von Doberstw
Es war dann doch eine andere Ursache. Unmittelbar nach der DayOfWeek Ermittlung folgte ein kleines Powershell-Script.
Darin wurde die externe IP-Adresse in eine Variable geschrieben:
$ip = (Invoke-WebRequest -uri "ipv4.icanhazip.com").Content

KB5072033 wird als Sicherheitsupdate bezeichnet und hat wahrscheinlich die Anforderung an Invoke-WebRequest verschärft.
Dadurch wurde das ganze Batch-Skript abgebrochen.
Erst als ich den Befehl um -UseBasicParsing ergänzte, lief das Skript sauber durch. Der Befehl sieht jetzt so aus:
$ip = (Invoke-WebRequest -UseBasicParsing -uri "ipv4.icanhazip.com").Content

Dank an DK2000 und Blondi für die Hinweise.