在bat指令碼中區分作業系統版本
阿新 • • 發佈:2019-01-30
@echo off set OsVersion=0 set OsProcessor=0 echo 作業系統版本: ver|findstr /r /i " [版本 5.1.*]" > NUL && goto WindowsXP ver|findstr /r /i " [版本 6.1.*]" > NUL && goto Windows7 goto UnknownVersion :WindowsXP set OsVersion="WindowsXP" goto GetProcessor :Windows7 set OsVersion="Windows7" goto GetProcessor :UnknownVersion set OsVersion="UnknownVersion" goto GetProcessor :GetProcessor if /i "%processor_architecture%" equ "x86" ( set OsProcessor="X86" ) else ( if /i "%processor_architecture%" equ "amd64" ( set OsProcessor="X64" ) else ( set OsProcessor="UnknownProcessor" ) ) echo %OsVersion% %OsProcessor% pause
使用ver|findstr /r /i " [版本 5.1.*]" > NUL後環境變數errorlevel中儲存的退出碼是cmd.exe的,不是findstr.exe
使用ver|findstr /r /i " [版本 5.1.*]" > NUL && goto WindowsXP時用的是findstr.exe的退出碼