我想要创建一个批处理文件,它将执行以下操作:检查正在运行的操作系统是否是windows。如果它比它应该打印,Hello. Im win 10其他应该打印其他消息。如果条件允许,我该怎么做?
伪码:
if OS == Win10 then
echo Hello im win 10
else
echo I am another os发布于 2015-12-16 17:03:38
setlocal
for /f "tokens=4-5 delims=. " %%i in ('ver') do set VERSION=%%i.%%j
if "%version%" == "6.3" echo Windows 8.1
if "%version%" == "6.2" echo Windows 8.
if "%version%" == "6.1" echo Windows 7.
if "%version%" == "6.0" echo Windows Vista.
if "%version%" == "10.0" echo Windows 10.
echo %version%
rem etc etc
endlocal发布于 2015-12-16 17:22:01
如果你想要更详细一点的话:
for /f "tokens=2 delims=," %%i in ('wmic os get caption^,version /format:csv') do set os=%%i
echo Hello, I am %os%或者仅仅满足你的要求:
for /f "tokens=2 delims=," %%i in ('wmic os get caption^,version /format:csv') do set os=%%i
echo %os%|find " 10 ">nul &&echo Hello I'm Windows 10||echo I am another os( ,version确保,您想要的字符串不是最后一个令牌,它包含丑陋的wmic行结尾)
发布于 2018-03-19 14:22:32
我改进了Vertexwahn的脚本以支持更多的Windows版本:
setlocal
for /f "tokens=2 delims=[]" %%i in ('ver') do set VERSION=%%i
for /f "tokens=2-3 delims=. " %%i in ("%VERSION%") do set VERSION=%%i.%%j
if "%VERSION%" == "5.00" echo Windows 2000
if "%VERSION%" == "5.0" echo Windows 2000
if "%VERSION%" == "5.1" echo Windows XP
if "%VERSION%" == "5.2" echo Windows Server 2003
if "%VERSION%" == "6.0" echo Windows Vista
if "%VERSION%" == "6.1" echo Windows 7
if "%VERSION%" == "6.2" echo Windows 8
if "%VERSION%" == "6.3" echo Windows 8.1
if "%VERSION%" == "6.4" echo Windows 10
if "%VERSION%" == "10.0" echo Windows 10
echo %VERSION%
endlocalhttps://stackoverflow.com/questions/34317826
复制相似问题