DOS批處理命令判斷操作系統(tǒng)版本
DOS批處理命令判斷操作系統(tǒng)版本
你還在為不知道DOS 批處理命令判斷操作系統(tǒng)版本而煩惱么?接下來是小編為大家收集的DOS 批處理命令判斷操作系統(tǒng)版本教程,希望能幫到大家。
DOS 批處理命令判斷操作系統(tǒng)版本
在家里試用 netsh interface ip set address 這些命令更改上網(wǎng)IP、DNS、網(wǎng)關(guān)等,今天將那些代碼拿來辦公室一用發(fā)現(xiàn)盡報(bào)錯,才想起來家里電腦是WIn7系統(tǒng),辦公室機(jī)器是XP系統(tǒng),于是手工修改了一下 netsh 對應(yīng)的一些參數(shù),在XP下面終于能正常執(zhí)行了。也就是說,在WIn7和WinXP下 netsh 命令對應(yīng)的參數(shù)是不一樣的,就比如 在XP下面的 netsh interface ip add dns 到了WIN7下,就必須得寫為:netsh interface ip add dnsservers ,這就帶來一個大問題,本來用批處理修改網(wǎng)卡IP等數(shù)據(jù)就是圖方便,現(xiàn)在難不成要針對不同的系統(tǒng)單獨(dú)制作一個BAT文件?那樣的話我自己都會覺得自己太2了,于是想到用批處理應(yīng)該可以判斷操作系統(tǒng)版本,而針對版本執(zhí)行對應(yīng)版本的語句。我自己沒搞過,當(dāng)然只能在網(wǎng)上搜索了,找了好多網(wǎng)站,發(fā)現(xiàn)了一共3種類似的方法,于是稍加修改整理,發(fā)出來給大家測試看看,希望測試過的朋友提供自己操作系統(tǒng)版本及名稱【用Ver顯示的】,以便補(bǔ)充數(shù)據(jù)更完整的判斷。代碼見下:[plain] view plain copy:home
@echo off
cls
@echo ================= 判斷Windows版本 ============================
rem 選擇測試三種方法
@echo [1]測試方法一
@echo [2]測試方法二
@echo [3]測試方法三
@echo [Q]結(jié)束測試
@echo ============================================================
set /p testa=選擇測試方法(記得回車):
if /i %testa%==1 goto test0
if /i %testa%==2 goto test1
if /i %testa%==3 goto test2
if /i %testa%==Q goto exit
:test0
rem ================================方法一===============================
rem @echo 返回值: isXPlevel=1 XP級別;isXPlevel=2 高于XP級別;isXPlevel=0 低于XP級別
rem set isXPlevel=0 set isXPlevel=1 & ,set isXPlevel=2 &
ver|findstr "5\.[0-9]\.[0-9][0-9]*" > nul && (goto show0)
ver|findstr "6\.[0-9]\.[0-9][0-9]*" > nul && (goto show01)
goto show02
:show0
@echo ---------------- 測試方法一 ------------
@echo 當(dāng)前系統(tǒng)是: XP級別
@echo ----------------------------------------
goto end
:show01
@echo ---------------- 測試方法一 ------------
@echo 當(dāng)前系統(tǒng)是:高于XP級別
@echo ----------------------------------------
goto end
:show02
@echo ---------------- 測試方法一 ------------
@echo 當(dāng)前系統(tǒng)是:低于XP級別
@echo ----------------------------------------
goto end
rem ================================方法一結(jié)束===============================
:test1
rem ================================方法二===============================
ver | find "5.0." > NUL && goto show50
ver | find "5.1." > NUL && goto show51
ver | find "5.2." > NUL && goto show52
ver | find "6.0." > NUL && goto show60
ver | find "6.1." > NUL && goto show61
:show50
@echo ---------------- 測試方法二 ------------
@echo 當(dāng)前系統(tǒng)是:[ set XT=Windows2000 ]
@echo ----------------------------------------
goto end
:show51
@echo ---------------- 測試方法二 ------------
@echo 當(dāng)前系統(tǒng)是:[ set XT=WindowsXP ]
@echo ----------------------------------------
goto end
:show52
@echo ---------------- 測試方法二 ------------
@echo 當(dāng)前系統(tǒng)是:[ set XT=Windows2003 ]
@echo ----------------------------------------
goto end
:show60
@echo ---------------- 測試方法二 ------------
@echo 當(dāng)前系統(tǒng)是:[ set XT=WindowsVista ]
@echo ----------------------------------------
goto end
:show61
@echo ---------------- 測試方法二 ------------
@echo 當(dāng)前系統(tǒng)是:[ set XT=Windows7 ]
@echo ----------------------------------------
goto end
rem ================================方法二結(jié)束===============================
:test2
rem ================================方法三結(jié)束===============================
ver | find /i "6.1." > NUL
if %errorlevel% equ 0 (goto win7)
ver | find /i "5.1." > NUL
if %errorlevel% equ 0 (goto winXP)
:NoneTest
@echo ---------------- 測試方法三 ------------
@echo 當(dāng)前系統(tǒng)暫無識別數(shù)據(jù),請直接查看系統(tǒng)版本:
ver
@echo ----------------------------------------
goto end
:win7
@echo ---------------- 測試方法三 ------------
@echo 當(dāng)前系統(tǒng)是:Win7!!!
@echo ----------------------------------------
goto end
:winXP
@echo ---------------- 測試方法三 ------------
@echo 當(dāng)前系統(tǒng)是:winXP!!!
@echo ----------------------------------------
goto end
rem ================================方法三結(jié)束===============================
:end
pause
goto Home
:exit
看了“DOS 批處理命令判斷操作系統(tǒng)版本”還想看: