Board logo

标题: [系统相关] 通过获取version.dll文件版本号判断硬盘里系统版本 [打印本页]

作者: 窄口牛    时间: 2017-8-18 06:38     标题: 通过获取version.dll文件版本号判断硬盘里系统版本

本帖最后由 pcl_test 于 2017-8-18 09:08 编辑

通过获取version文件版本号,和是否有64位系统文件夹,以判断硬盘中所有的系统版本和位数。
作者: qazplm    时间: 2017-8-18 09:15

  1. wmic datafile where "name='%windir:\=\\%\\System32\\version.dll'" get version /value
  2. if exist "64位系统文件夹" (echo;64) else echo;32
复制代码

作者: PS2.0    时间: 2017-8-18 09:42

test.bat
  1. @echo off
  2. powershell -c "(Get-ChildItem 'C:\Windows\System32\version.dll' | Select-Object -ExpandProperty VersionInfo).ProductVersion"
复制代码

作者: PS2.0    时间: 2017-8-18 09:59

test2.bat
  1. @echo off
  2. powershell -c "(Get-WmiObject -class Win32_OperatingSystem).Caption"
复制代码

作者: 窄口牛    时间: 2017-8-18 14:20

  1. @echo off
  2. for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
  3. if exist %%i:\windows\system32\version.dll echo %%i&wmic datafile where "name='%%i:\\windows\\system32\\version.dll'" get version
  4. )
  5. pause
  6. if (buf == "5.0.") then
  7.         sysver = "Windows 2000"
  8. elseif (buf == "5.1.") then
  9.         sysver = "Windows XP"
  10. elseif (buf == "5.2.") then
  11.         sysver = "Windows Server 2003"
  12. elseif (buf == "6.0.") then
  13.         sysver = "Windows Server 2008"
  14. elseif (buf == "6.1.") then
  15.         sysver = "Windows 7"
  16. elseif (buf == "6.2.") then
  17.         sysver = "Windows 8"
  18. elseif (buf == "6.3.") then
  19.         sysver = "Windows 8.1"
  20. elseif (buf == "10.0") then
  21.         sysver = "Windows 10"
复制代码

作者: PS2.0    时间: 2017-8-18 14:34

回复 5# 窄口牛


不准确。有重复:
5.2       Windows Server 2003
5.2       Windows XP x64
6.0       Windows Vista
6.0       Windows Server 2008
6.1       Windows 7
6.1       Windows Server 2008 R2
6.2       Windows 8
6.2       Windows Server 2012
作者: 窄口牛    时间: 2017-8-18 15:10

只能这样了,挂载注册表才能细分,思路就这样,只是我不会鼓捣变量,写不完整。
作者: kingshui    时间: 2017-8-19 08:00

回复 7# 窄口牛


    如果只是判断目标系统的位数,直接看有没有program file (x86)目录不就得了?或者还有一个目录也可以看出来。
windows\syswow64

个人比较偏向用特定文件来判断目标系统。

相信你是在PE里使用的。




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