找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 63171|回复: 22

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

[复制链接]
发表于 2021-8-3 11:15:53 | 显示全部楼层 |阅读模式
本帖最后由 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
不知道各位有什么解决办法没有
发表于 2021-8-3 21:29:05 | 显示全部楼层
  1. reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "ProductName"
复制代码
  1. systeminfo
复制代码
 楼主| 发表于 2021-8-4 09:05:06 | 显示全部楼层
回复 2# newswan
这个是在PE下运行并识别。这段代码加在哪里?
 楼主| 发表于 2021-8-4 09:05:29 | 显示全部楼层
回复 2# newswan


    这个是在PE下运行并识别。这段代码加在哪里?
发表于 2021-8-4 11:55:03 | 显示全部楼层
回复 4# wlishihua


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

pe下,systeminfo 可能没用
用dism试试
  1. Dism /Image:C:\test\offline /Get-CurrentEdition
  2. Dism /Online /Get-CurrentEdition
复制代码
dism++ 能识别,但不知道命令行怎么使用,你去看看
发表于 2021-8-5 18:43:46 | 显示全部楼层
回复 1# wlishihua


给你一个思路,如果不判断是专业版和其它版本,仅仅是区分win7和win10,可以判断”C:\Program Files\WindowsApps“目录是否存在。
如果存在此目录就是win10,否则就是win7,只有win10才有APP目录。
发表于 2021-8-5 18:47:01 | 显示全部楼层
本帖最后由 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)
复制代码
发表于 2021-8-5 19:40:45 | 显示全部楼层
通过注册表判断,不可能“将WINDOWS7旗舰版识别为WINDOWS10 PRO”
发表于 2021-8-5 19:56:21 | 显示全部楼层
通过ver再截取进行判断才是王道
 楼主| 发表于 2021-8-5 21:12:02 | 显示全部楼层
回复 8# newswan
在PE下不能识别,注册表不好办,因为它只认X盘的注册表
 楼主| 发表于 2021-8-5 21:15:44 | 显示全部楼层
回复 7# cmd1152


    运行不了
发表于 2021-8-5 21:23:17 | 显示全部楼层
回复 11# wlishihua


    代码错了,你现在再看看。
 楼主| 发表于 2021-8-5 21:32:04 | 显示全部楼层
回复 12# cmd1152
if EXIST C:\Program Files\WindowsApps (set xt=Win10) else (set xt=win7)
没什么显示,如果识别是WIN10就执行xxx.exe

如果识别是WIN7就执行DDD.exe
发表于 2021-8-5 21:55:08 | 显示全部楼层
回复 13# wlishihua


    差点忘了(我因为是那个帖子)
    代码:
  1. if EXIST C:\Program Files\WindowsApps (start xxx.exe) else (start DDD.exe)
复制代码
 楼主| 发表于 2021-8-5 21:58:04 | 显示全部楼层
本帖最后由 wlishihua 于 2021-8-5 22:01 编辑

运行不了 判断C盘可以执行 ,判断文件夹不能执行
if EXIST C:\ (start xxx.exe) else (start DDD.exe)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 23:24 , Processed in 0.025795 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表