我想要做的是保持Shockwave在多臺計算機上最新。我寫了這個小批處理腳本,但它不工作。當它發現衝擊波時,它會告訴我他們要麼沒有版本,要麼版本更新。當然,我相信這兩個數字都與小數點有關,但我不完全確定。字符串與小數比較
:Check_Ver
FOR /F "tokens=2 delims==" %%I IN (
'wmic datafile where "name='C:\\Windows\\SysWOW64\\Adobe\\Shockwave 12\\uninstaller.exe'" get version /format:list'
) DO SET "RESULT=%%I"
ECHO %RESULT%
IF /I %RESULT% GTR 12.2.4.194 GOTO :NEWERVERSION
IF /I %RESULT% EQU 12.2.4.194 GOTO :CORRECTVERSION
IF /I %RESULT% LSS 12.2.4.194 GOTO :OUTDATEDVERSION
什麼'wmic datafile其中「name ='C:\\ Windows \\ SysWOW64 \\ Adobe \\ Shockwave 12 \\ uninstaller.exe'」獲取版本/格式:列表輸出從cmd運行時? – CristiFati
由於您正在比較版本號和其中不是有效數字的點,因此'if'將進行字符串比較,因此比較字符串的第一對不同字符定義了結果,例如'1.2.12'爲少於'1.2.3' ... – aschipfl