我要檢測批次的Windows版本和按效果開始exe文件批處理文件: - 檢測Windows版本和運行exe文件
示例代碼不工作
@echo off
setlocal
for /f "tokens=4-5 delims=. " %%i in ('ver') do set VERSION=%%i.%%j
if "%version%" geq "6.2" goto netfx_4
if "%version%" == "6.1" goto netfx_35
if "%version%" == "6.0" goto netfx_35
:netfx_35
start "C:\Users\Ankur\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\Notepad.lnk"
exit 1
goto :EOF
:netfx_4
start "C:\Users\Ankur\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\Notepad.lnk"
exit 1
goto :EOF
endlocal
對地方測試的EXE我開始記事本文件
但這段代碼不起作用。
喜我更新了代碼,但相同的結果不工作只是cmd打開 –
請解釋發生了什麼。 「不工作」的意思是「沒有達到我的預期」 - 它做了什麼? 「只是cmd打開」 - 不知道你在這裏的意思。 'exit'會退出'cmd' - 如果你只是想返回一個錯誤級別,使用'exit/b errornumber'執行一個'.lnk'會在你的機器上運行可執行文件(我個人使用'notepad',你的'路徑')爲你返回什麼版本? Mine會返回比您的任何測試少的'10.0',因爲比較是以字符串形式執行的,而'1'小於'6'。 – Magoo
對不起,得到的問題exe應該在同一個位置 –