私がやっていることは、複数のコンピュータでShockwaveを最新の状態に保つことです。私はこの小さなバッチスクリプトを書いたが、うまくいかない。 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データファイルの名前= 'C:\\ Windows \\ SysWOW64 \\ Adobe \\ Shockwave 12 \\ uninstaller.exe'」のバージョン/ format:list' cmdから実行したときの出力? – CristiFati
バージョン番号と有効な数値でないドットを比較するので、 'if'は文字列の比較を行います。比較された文字列の最初のペアが結果を定義します。例えば' 1.2.12'は'1.2.3'より小さい... – aschipfl