整数のフォルダー名を変数と比較しようとしています。フォルダ名はすべて整数値です。たとえば、フォルダ「VersionedFolders」には、「95」、「96」、「100」までのサブフォルダが存在します。
私のスクリプトは次のとおりです。
@echo off
setlocal ENABLEDELAYEDEXPANSION
SET %PATH_TO_VERSION_FOLDER=VersionedFolders
SET %CurrentVersion = 99
for /f %%a in ('dir /B "%PATH_TO_VERSION_FOLDER%"') do (
if %CurrentVersion% LEQ %%a (
echo CurrentVersion !CurrentVersion! is less than or equal to %%a.
set CurrentVersion=%%a
) else (
echo CurrentVersion !CurrentVersion! is not less than or equal to %%a
)
)
出力は次のとおりです。
CurrentVersion 99 is less than or equal to 100.
CurrentVersion 100 is not less than or equal to 95.
CurrentVersion 100 is not less than or equal to 96.
CurrentVersion 100 is not less than or equal to 97.
CurrentVersion 100 is not less than or equal to 98.
CurrentVersion 100 is less than or equal to 99.
最後の反復は、100 > 99 以降の問題が存在する場所です。
dir /B "%PATH_TO_VERSION_FOLDER%" の出力が
100
95
96
97
98
99
「if 100 LEQ 99」が true を返す理由はありますか?