@echo off setlocal enabledelayedexpansion set root_folder=%~dp0 set output=%root_folder%files_list.txt if exist "%output%" del "%output%" call :process_folder "%root_folder%" echo Готово, файл files_list.txt создан в %root_folder% pause exit /b :process_folder set "folder=%~1" echo Обработка папки: %folder% pushd "%folder%" rem Перебираем файлы .md в лексикографическом порядке for /f "delims=" %%F in ('dir /b /on *.md 2^>nul') do ( rem Выводим имя файла без расширения for %%I in ("%%F") do echo %%~nI>>"%output%" ) popd rem Рекурсивно вызываем для всех подпапок for /d %%D in ("%folder%\*") do ( call :process_folder "%%D" ) exit /b