我试图在其他帖子中找到答案,但我认为我要做的有点“特定”。我不太懂批处理语言,无法将我发现的脚本部分进行调整/合并...
因此,我正在尝试根据运行屏幕分辨率执行命令。背景如下:
登录时执行的命令会将快捷方式放置在桌面上,但不同分辨率之间的放置位置不同...
想法是定义一个变量,该变量是请求的答案。然后,如果输出包含1080,则执行此cmd,否则,如果它包含720,则执行另一个cmd等等...
这是我在Win7中使用的Cmd(可行);
for /f "tokens=1-2 delims= " %%r in ('wmic desktopmonitor get screenheight^, screenwidth ^| findstr "1"') do set current_res=%%sx%%r
if "%current_res%" == "1920x1080" C:\Windows\kiosque\desktopok.exe /load /silent c:\windows\kiosque\dispo_icones_1080p.dok
我需要用 wmic path Win32_VideoController get VideoModeDescription 在Win10上执行相同的操作,但我找不到如何将此请求的输出正确定义为变量...
1920 x 1080 x 4294967296 colors
。现在你有了3个标记。所以请修改你的代码,使用3个标记,你的变量将会是 %%r、%%s 和 %%t。 - Squashman10
和7
上工作,但是在Windows10
上,ScreenHeight
和ScreenWidth
都没有值。Win32_VideoController
在两个系统上都可以完美地工作,因此基于这一点,我更喜欢使用它。使用Win32_VideoController
,您应该检索CurrentHorizontalResolution
和/或CurrentVerticalResolution
并根据需要使用它们。由于实际上只是在现有命令和新命令之间替换几个字符串,所以您的问题到底是什么? - Compo