Batch Batch unter Win 8.1 anders

>|Sh4d0w|<

Commander
Registriert
Jan. 2009
Beiträge
2.537
Hallo zusammen,
meine funktionierende Batch, welche unter 7 läuft, geht ab 8.1 und höher nicht mehr.
Ich konnte bereits die Stelle (Zeile 2 und 5 im Code) finden, weiß aber den Fehler bzw. Grund nicht.

"%%b" kann syntaktisch an dieser Stelle nicht verarbeitet werden.

(Es soll die Auflösung ermittelt)
Folgender Auszug ist betroffen:
Code:
::Hoehe ermitteln
FOR /F "tokens=2 delims==" %%a in ('wmic DesktopMonitor get ScreenHeight /value') DO set hoehe=%%a

::Breite ermitteln
FOR /F "tokens=2 delims==" %%b in ('wmic DesktopMonitor get ScreenWidth /value') DO set breite=%%b

::16zu10-Abfrage
if %breite% == 1920 (
if %hoehe% == 1200 goto 16zu10)
...
...
...
...
 
Zuletzt bearbeitet:
Du solltest suchen (googeln) warum wmic nichts liefert:

Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. Alle Rechte vorbehalten.

C:\Users\steve>wmic DesktopMonitor get ScreenHeight /value


ScreenHeight=




C:\Users\steve>wmic DesktopMonitor get ScreenWidth /value


ScreenWidth=
 
damit gehts
https://stackoverflow.com/questions/25532444/get-screen-resolution-as-a-variable-in-cmd

Code:
C:\WINDOWS\system32>systeminfo | findstr /B /C:"Betriebssystemname" /C:"Betriebssystemversion"
Betriebssystemname:                            Microsoft Windows 10 Pro
Betriebssystemversion:                         10.0.14393 Nicht zutreffend Build 14393
Code:
C:\WINDOWS\system32>wmic path Win32_VideoController get CurrentHorizontalResolution
CurrentHorizontalResolution
1920
Code:
C:\WINDOWS\system32>wmic path Win32_VideoController get CurrentHorizontalResolution /value


CurrentHorizontalResolution=1920
 
Zuletzt bearbeitet:
oh das habe ich gar nicht bemerkt. Das wmic liefrert ab 8.1 weniger Infos. Danke für den Tip. Nun funktioniert es bestens =)
 
Zurück
Oben