Wenn Sie eine feste Anzahl von Zeichen prüfen, sollten Sie die letzten 4 Zeichen überprüfen, ansonsten wird "file.Log" mit "file.myLog" übereinstimmen.
Die beste Option ist jedoch, die tatsächliche Erweiterung unabhängig von der Länge zu erhalten:
@echo off setlocal set "var1=file.Log" set "var2=file.myLog" :: Option 1 using FOR loops for %%A in ("%var1%") do for %%B in ("%var2%") do if "%%~xA"=="%%~xB" ( echo Match ) else ( echo No Match ) : Option 2 using CALL parameters call :matchExtension "%var1%" "%var2%" &&echo Match||echo No Match exit /b :matchExtension file1 fil2 --> returns 0 (success) if match, 1 (error) if no match if "%~x1"=="%~x2" exit /b 0 exit /b 1