下面的批处理(扩展名BAT或者CMD) 可以在几乎任何一个WIN操作系统上运行 该脚本会利用 ver 和 find 命令来判断版本号 并给出相应的WIN系统.
@echo off
ver | find "5.1" > nul
if errorlevel = 1 goto next0
if errorlevel = 0 goto xp
:next0
ver | find "6.0" > nul
if errorlevel = 1 goto next
if errorlevel = 0 goto win vista
:next
ver | find "6.1"
if errorlevel = 1 goto next1
if errorlevel = 0 goto win7
:next1
ver | find "6.2" > nul
if errorlevel = 1 goto next2
if errorlevel = 0 goto win8
:next2
ver | find "6.3" > nul
if errorlevel = 1 goto next3
if errorlevel = 0 goto win8.1
:next3
ver | find "6.3" > nul
if errorlevel = 1 goto next4
if errorlevel = 0 goto win8.1
:next4
ver | find "10.0" > nul
if errorlevel = 1 goto other
if errorlevel = 0 goto win10
:xp
echo XP
goto :eof
:win vista
echo Vista
goto :eof
:win7
echo Win7
goto :eof
:win8
echo Win8
goto :eof
:win8.1
echo Win8.1
goto :eof
:win10
echo Win10
goto :eof
:other
echo Early Win
goto :eof
在我机器 上 ver 命令给出这样的输出 之后就可以用 find 命令寻找相应的版本号 然后用 errorlevel 上一条命令返回值来进行判断 为0的时候表示找到了匹配 否则进行下一个版本的判断.
Microsoft Windows [Version 6.3.9600]

win-batch-script-to-detect-version
英文: https://helloacm.com/windows-batch-script-to-detect-windows-version/
本文一共 128 个汉字, 你数一下对不对.上一篇: Rosegate Farm 摘草莓 (多图)
下一篇: Peppa Pig 里的 Muddy Puddles
扫描二维码,分享本文到微信朋友圈
为啥不用 PowerShell?
这个问题 和 为啥不用 PYTHON 一样.
这只是其中一种方法.
不一样,PowerShell 是 cmd 的官方替代品,现在再搞 cmd 已经没有意义了.
Powershell 并不是默认就有安装的 主要运用在 服务器
BATCH 支持肯定比POWERSHELL广,如果技术淘汰了 那微软就会把它去掉, 但是在所有WIN版本里 BATCH还是有的.
BATCH是很轻量级的, 如果做一件事情同时可以用很多种方法,是不是找一个最轻巧最简便的方法呢?
—存在就是道理—
Windows 中同时支持多套 API 是很常见的事.CMD 的问题是它已经不发展了,新的功能都只能通过 PowerShell 来做到,如果你们要开发一套管理类的工具,最好从 PowerShell 入手.
给你举个例子吧:
VBSCRIPT也不发展了.很多软件都会提供 COM 组件,比如EXCEL,很多公司都会用VBSCRIPT来写一些例子 甚至软件内部的宏什么的也都用脚本语言来写.
因为,VBSCRIPT一样支持很广泛(从98之后就有了)
同样,几个安装脚本 没必要用到POWERSHELL这种给服务端用的脚本来写(不是说它不好)
这里只是说 在哪种用途下 CMD,VBSCRIPT更简单轻便.
你说的是 VBA,是 VBScript 的一个子集;VBScript 本身已经被淘汰了,替代品是 VB.net 和 PowerShell.VBA 还被支持是因为 Office 的庞大客户群.但 VBA 和 CMD 一样的问题是,缺乏像现代编程语言一样的支持,比如没有自动化测试~IDE 和 JIT,你可能一开始觉得写起来很快很爽,但当代码量大了之后,维护成本非常高,到处是坑.
我说的不是 VBA
我说的就是 VBSCRIPT
我说的是软件都会提供 COM接口 比如
Set obj = CreateObject(“Appliction.Excel”)
这些VBSCRIPT代码用来写 示例程序是最好不过了
你说的对,代码量大就不行,我也同意.
VBSCRIPT/CMD从来就不适合大型软件开发,不过其它小小用途还是最适合不过了.
就像我 大程序用C++/C# 小程序(实验,桌面RAD开发)就可以用PYTHON,DELPHI等.