Board logo

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

作者: wlishihua    时间: 2021-8-3 11:15     标题: [已解决]批处理判断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
不知道各位有什么解决办法没有
作者: newswan    时间: 2021-8-3 21:29

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

作者: wlishihua    时间: 2021-8-4 09:05

回复 2# newswan
这个是在PE下运行并识别。这段代码加在哪里?
作者: wlishihua    时间: 2021-8-4 09:05

回复 2# newswan


    这个是在PE下运行并识别。这段代码加在哪里?
作者: newswan    时间: 2021-8-4 11:55

回复 4# wlishihua


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

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

回复 1# wlishihua


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

本帖最后由 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)
复制代码

作者: newswan    时间: 2021-8-5 19:40

通过注册表判断,不可能“将WINDOWS7旗舰版识别为WINDOWS10 PRO”
作者: smss    时间: 2021-8-5 19:56

通过ver再截取进行判断才是王道
作者: wlishihua    时间: 2021-8-5 21:12

回复 8# newswan
在PE下不能识别,注册表不好办,因为它只认X盘的注册表
作者: wlishihua    时间: 2021-8-5 21:15

回复 7# cmd1152


    运行不了
作者: cmd1152    时间: 2021-8-5 21:23

回复 11# wlishihua


    代码错了,你现在再看看。
作者: wlishihua    时间: 2021-8-5 21:32

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

如果识别是WIN7就执行DDD.exe
作者: cmd1152    时间: 2021-8-5 21:55

回复 13# wlishihua


    差点忘了(我因为是那个帖子)
    代码:
  1. if EXIST C:\Program Files\WindowsApps (start xxx.exe) else (start DDD.exe)
复制代码

作者: wlishihua    时间: 2021-8-5 21:58

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

运行不了 判断C盘可以执行 ,判断文件夹不能执行
if EXIST C:\ (start xxx.exe) else (start DDD.exe)
作者: cmd1152    时间: 2021-8-5 22:01

回复 15# wlishihua


    证明你的系统不是win10
如果存在此目录就是win10,否则就是win7,只有win10才有APP目录。

作者: wlishihua    时间: 2021-8-5 22:06

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

回复 16# cmd1152

是WIN10
是不是是隐藏的文件夹的原因
试了一下找这个splwow64.exe执行文件就能识别
if EXIST C:\Windows\splwow64.exe (start xxx.exe) else (start DDD.exe)

WSReset.exe用这个,WIN7没这个文件
if EXIST C:\Windows\System32\WSReset.exe (start xxx.exe) else (start DDD.exe)

在W7测试一下,通过,谢谢!
作者: cmd1152    时间: 2021-8-5 22:14

回复 17# wlishihua


    你显示 隐藏文件/文件夹/驱动器 + 显示隐藏的系统文件 看看有没有这个目录
作者: cmd1152    时间: 2021-8-5 22:15

回复 17# wlishihua


    或者要执行的DDD.exe不对,DDD.exe在不在当前目录下
作者: cmd1152    时间: 2021-8-5 22:35

回复 18# cmd1152


    是[已解决]不是已解决:...
作者: 路过    时间: 2021-8-6 09:51

运行CMD.exe,第一行不就给出了你的系统名称和版本么
  1. @echo off
  2. (echo;exit|%ComSpec%)|find "版本 10." && set WinVer=10
  3. (echo;exit|%ComSpec%)|find "版本 7." && set WinVer=7
  4. echo;WINDOWS%WinVer%
  5. pause
  6. exit
复制代码

作者: qixiaobin0715    时间: 2021-8-6 10:29

"已解决"只是表示帖子已完结,形式不重要,表达准确即可。
作者: wlishihua    时间: 2021-8-6 12:36

回复 21# 路过


    PE下用的,有点特别




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