|
- @echo off
- color 3f
- rem 查找%regpath%中所有子项中%regname%的数据是%regdata%时,DefaultSettings.XResolution和DefaultSettings.YResolution的大小,并对结果两者的乘积从大到小排序
- rem 鉴于reg命令XP和Win7+不同,故需要Win7以上系统,Win8.1测试通过!
- setlocal enabledelayedexpansion
- set regpath=HKLM\SYSTEM\CurrentControlSet\Hardware Profiles\UnitedVideo\CONTROL\VIDEO
- set regname=Attach.ToDesktop
- set regdata=0x1
- del %temp%\abcd.tmp /f /q >nul 2>nul
- rem 查找指定键值和数据所在的项
- rem 查找所有子项
- for /f "delims=" %%X in ('reg query "%regpath%" /s /f * /k') do (
- rem 在所有子项中查找含有指定键值的项
- for /f "tokens=1,2 delims=:" %%Y in ('reg query "%%X" /v "%regname%" 2^>nul ^| findstr /n .') do (
- rem 在含有指定键值的项中查找含有特定数据的项
- if %%Y==2 set regpathok=%%Z
- if %%Y==3 (
- echo %%Z | findstr /i /c:"%regdata%" >nul 2>&1
- if !errorlevel!==0 (
- rem 查找完毕,此处的变量regpathok就是指定键值和数据所在的项
- for /f "tokens=1,2 delims=:" %%a in ('reg query "!regpathok!" /v "DefaultSettings.?Resolution" ^| findstr /n .') do (
- if %%a==2 set AAA=%%b
- if %%a==3 for /f "tokens=3" %%c in ("%%b") do set /a XRES=%%c
- if %%a==4 for /f "tokens=3" %%d in ("%%b") do set /a YRES=%%d
- if %%a==6 set /A XYRES=!XRES!*!YRES! && echo !XYRES! !XRES!×!YRES! !AAA! >>%temp%\abcd.tmp
- )
- )
- )
- )
- )
- sort %temp%\abcd.tmp /o %temp%\abcd_sort.txt
- echo 计算结果 分辨率 注册表路径 >%temp%\abcd_sortb.txt
- type %temp%\abcd_sort.txt>>%temp%\abcd_sortb.txt
- start %temp%\abcd_sortb.txt
- exit
复制代码 |
|