Board logo

标题: [文本处理] [分享]批处理利用鲁大师日志提取硬件信息 [打印本页]

作者: yakeyun    时间: 2022-8-9 16:55     标题: [分享]批处理利用鲁大师日志提取硬件信息

已知鲁大师磁盘检测工具会触发硬件检测,然后通过批处理提取日志信息,即可得到硬件信息配置文件。那么通过其他软件来读取这个配置文件,即可做出第三方硬件检测工具UI。
如果要自己维护更新硬件数据库,可以直接从鲁大师官方下载最新版,然后把所需文件替换掉即可。

文件下载地址:https://sanli.lanzoub.com/iv7s1099mysd

代码如下:
  1. @echo off & setlocal enabledelayedexpansion
  2. cd /d "%~dp0"
  3. if exist log\ComputerZ_HardwareDll.log (del log\ComputerZ_HardwareDll.log)
  4. Start /min .\Utils\DiskCheck.exe
  5. :top
  6. echo 硬件信息获取中,请稍等...
  7. choice /t 10 /d y /n >nul
  8. taskkill /f /t /IM DiskCheck.exe 1>nul 2>nul
  9. cls
  10. set top=[硬件参数]
  11. set DiskNumber=0
  12. set AudioNumber=0
  13. set MemoryNumber=0
  14. set Order=findstr /i /l /c:"[overviewinfowrapper] CPUName :" /c:"[processmemory] SpdOverview." /c:"[gpuprocesser] VideoAdapter" /c:"[motherboardinfowrapper] GetMotherboardInfo:" /c:"[monitorinfowrapper] find primary monitor" /c:"[disk_client] ModelNumber" /c:"[networkinfo] GetNetworkInfo: NetworkParams.strDescription" /c:"[audioinfo] Multimedia(Hi-definition Audio):" "log\ComputerZ_HardwareDll.log"
  15. for /f "tokens=9-12 delims=]:=" %%a in ('%Order%') do (
  16.     set str=%%a
  17.     set str=!str:~1,4!
  18.     if "!str!"=="CPUN" (
  19.         set CPUName=%%b
  20.     ) else if "!str!"=="GetM" (
  21.         set MotherboardInfo=%%b
  22.     ) else if "!str!"=="GetN" (
  23.         for /f "tokens=2 delims=[" %%i in ("%%b") do (
  24.             if not defined _%%i set /a NetworkNumber+=1
  25.             set Network%%i=%%d
  26.             set _%%i=true
  27.         )
  28.     ) else if "!str!"=="Mode" (
  29.         set Disk!DiskNumber!Number=%%c
  30.         set /a DiskNumber+=1
  31.     ) else if "!str!"=="Mult" (
  32.         for /f "tokens=2 delims=@" %%i in ("%%b") do set Audio!AudioNumber!Number=%%i
  33.         set /a AudioNumber+=1
  34.     ) else if "!str!"=="SpdO" (
  35.         for /f "tokens=2 delims=. " %%i in ("%%a") do set Memory!MemoryNumber!Name=%%d
  36.         set /a MemoryNumber+=1
  37.     ) else if "!str!"=="Vide" (
  38.         set VideoAdapter=%%b
  39.     ) else if "!str!"=="find" (
  40.         set monitor=%%b
  41.     )
  42. )
  43. (
  44. echo %top%
  45. set CPUName
  46. set MemoryNumber
  47. set MemoryNumber=
  48. set Memory
  49. set VideoAdapter
  50. set MotherboardInfo
  51. set monitor
  52. set DiskNumber
  53. set DiskNumber=
  54. set Disk
  55. set NetworkNumber
  56. set NetworkNumber=
  57. set Network
  58. set AudioNumber
  59. set AudioNumber=
  60. set Audio
  61. )
  62. PAUSE
  63. >sysinfo.ini
  64. exit
复制代码
已知问题:
如果是调用形式使用,如果自己根据对应的语言来获取鲁大师窗口,然后让其运行时隐身,硬件抓取时间在10S以内就可以获取完毕。
也可以自己根据需要来手动判断“Log\ComputerZ_HardwareDll.log”文件头尾:头尾标识-------log reset    ,     -----log end



本来想用VBS或者SP1调用EXE使其隐身执行,但是无法实现。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2