[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] [已解决]批处理判断C盘的系统版本号,但是对WIN7不能识别?

本帖最后由 wlishihua 于 2021-8-6 09:14 编辑

判断C盘的系统版本号,对WIN10各个版本能识别,但是对WIN7不能识别
  1. @echo off
  2. set "v1=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion"
  3. set "v2=HKLM\My_Hive\Microsoft\Windows NT\CurrentVersion"
  4. set "Hive=windows\system32\config\software"
  5. for %%i in (C ) do (
  6.     if /i "%%i:"=="%SystemDrive%" (
  7.         for /f "tokens=1,2*" %%a in ('reg query "%v1%"') do (
  8.             if /i "%%a"=="ProductName" (
  9.                 echo,系统分区是:%%i
  10.                 echo,原 系 统 是:%%c&echo,
  11.             )
  12.         )
  13.     ) else if exist "%%i:\%Hive%" (
  14.         reg load "HKLM\My_Hive" "%%i:\%Hive%" >nul
  15.         for /f "tokens=1,2*" %%a in ('reg query "%v2%"') do (
  16.             if /i "%%a"=="ProductName" (
  17.                 echo,系统分区是:%%i
  18.                 echo,原 系 统 是:%%c&echo,
  19.             )
  20.         )
  21.         reg unload "HKLM\My_Hive" >nul
  22.     )
  23. )
  24. pause
复制代码
判断C盘的系统版本号,对WIN10各个版本能识别,但是对WIN7不能识别。它将WINDOWS7旗舰版识别为WINDOWS10 PRO
不知道各位有什么解决办法没有

  1. reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "ProductName"
复制代码
  1. systeminfo
复制代码

TOP

回复 2# newswan
这个是在PE下运行并识别。这段代码加在哪里?

TOP

回复 2# newswan


    这个是在PE下运行并识别。这段代码加在哪里?

TOP

回复 4# wlishihua


reg query 和你的等效
但是你可以用这个改一下你的 reg query 语句 ,用 /v  

pe下,systeminfo 可能没用
用dism试试
  1. Dism /Image:C:\test\offline /Get-CurrentEdition
  2. Dism /Online /Get-CurrentEdition
复制代码
dism++ 能识别,但不知道命令行怎么使用,你去看看

TOP

回复 1# wlishihua


给你一个思路,如果不判断是专业版和其它版本,仅仅是区分win7和win10,可以判断”C:\Program Files\WindowsApps“目录是否存在。
如果存在此目录就是win10,否则就是win7,只有win10才有APP目录。

TOP

本帖最后由 cmd1152 于 2021-8-5 21:23 编辑
回复  wlishihua


给你一个思路,如果不判断是专业版和其它版本,仅仅是区分win7和win10,可以判断”C ...
yakeyun 发表于 2021-8-5 18:43



    就是下面命令
  1. if EXIST C:\Program Files\WindowsApps (set xt=Win10) else (set xt=win7)
复制代码
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

通过注册表判断,不可能“将WINDOWS7旗舰版识别为WINDOWS10 PRO”

TOP

通过ver再截取进行判断才是王道

TOP

回复 8# newswan
在PE下不能识别,注册表不好办,因为它只认X盘的注册表

TOP

回复 7# cmd1152


    运行不了

TOP

回复 11# wlishihua


    代码错了,你现在再看看。
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

回复 12# cmd1152
if EXIST C:\Program Files\WindowsApps (set xt=Win10) else (set xt=win7)
没什么显示,如果识别是WIN10就执行xxx.exe

如果识别是WIN7就执行DDD.exe

TOP

回复 13# wlishihua


    差点忘了(我因为是那个帖子)
    代码:
  1. if EXIST C:\Program Files\WindowsApps (start xxx.exe) else (start DDD.exe)
复制代码
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

本帖最后由 wlishihua 于 2021-8-5 22:01 编辑

运行不了 判断C盘可以执行 ,判断文件夹不能执行
if EXIST C:\ (start xxx.exe) else (start DDD.exe)

TOP

返回列表