cmd.exe的版本实际上应该是非常不相干的,除非您尝试使用以前不存在的功能(例如在command.com中).有伪变量
%cmdextversion%
它拥有已经2年的命令扩展版本(至少回到NT 4,iirc).
但是,回到这一点:运行ver和解析版本字符串可能是你最好的选择:
for /f "tokens=2 delims=[]" %%x in ('ver') do set WINVER=%%x set WINVER=%WINVER:Version =%