Признаюсь честно, я не специалист в этой области, но меня ваша задачка очень заинтересовала тем, что я такие вещи всегда писал в Shell, а тут Batch. Поэтому я не могу ручаться, что предложенный мною способ рационален. Вот что у меня получилось:
| Код | @echo off
for %%i in (*.*) do call :CheckAndPrint "%%i" 20
:CheckAndPrint set len=0 & set buff=%~1 if ""=="%~1" exit /b :CheckAndPrintLoop set /a len+=1 call set chr=%%buff:~%len%%% if "" neq "%chr%" goto :CheckAndPrintLoop if %len% gtr %2 echo %~1
|
P.S.: Прошу не судить строго.  |