Board logo

标题: [系统相关] 批处理怎样通过判断系统版本而执行相应的命令 [打印本页]

作者: a1411774797    时间: 2021-4-13 10:24     标题: 批处理怎样通过判断系统版本而执行相应的命令

判断系统是win8.1就执行重启资源管理器
判断系统是win10 1607就打开资源管理器
判断系统是win10 1809就关闭资源管理器
这些个命令组合到一起应该怎么写哇。。。。
我只知道思路,但是不知道应该怎么写,求帮助!
作者: 追梦人    时间: 2021-4-13 21:09

SYSTEMINFO命令可以看到系统信息
作者: Batcher    时间: 2021-4-13 23:24

回复 2# 追梦人


    这个命令无法区分win10 1607和win10 1809吧
作者: Batcher    时间: 2021-4-13 23:27

回复 1# a1411774797


    请把你知道的命令发出来,我试试组合。
作者: a1411774797    时间: 2021-4-14 13:17

回复 4# Batcher


    我会弄啦,谢谢你。
作者: Batcher    时间: 2021-4-14 15:22

回复 5# a1411774797


    能否把代码发出来大家一起讨论下?
作者: 追梦人    时间: 2021-4-14 17:26

回复 3# Batcher


    确实无法区分,通过上网查资料,我发现winver命令可以区分,可惜是图形界面的结果,另外ver命令也不能区分。
作者: Batcher    时间: 2021-4-14 18:02

回复 7# 追梦人
  1. reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ReleaseId
复制代码
再配合其他命令就能实现楼主的需求了
作者: smss    时间: 2021-4-14 18:24

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=4 delims= " %%a in ('ver') do set n=%%a&echo !n:~5,5!
  3. if %%n:~,5%%==17763 set m=1809
  4. if %%n:~,5%%==18363 set m=1909
  5. if %%n:~,5%%==19041 set m=2004
  6. if "%%n:~,5%%" GEQ "19042" set m=2009
  7. pause
复制代码

作者: 追梦人    时间: 2021-4-14 20:47

回复 8# Batcher


    大佬就是大佬,
    ReleaseId    REG_SZ    1909
    执行结果让人感动




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