@echo off
setlocal enabledelayedexpansion

:: Поиск файла с расширением .bct
for %%f in (*.bct) do set "bct_file=%%f"

if "!bct_file!"=="" (
    echo Файл с расширением .bct не найден!
    exit /b 1
)

:: Создаем новый файл с обновленными данными
break > config1.ini.new

set "bincontainer_updated=0"
if exist config1.ini (
    :: Используем более надежный метод чтения с сохранением кодировки
    for /f "tokens=1* delims=:" %%a in ('findstr /n "^" config1.ini') do (
        set "full_line=%%b"
        
        :: Если строка пустая, просто добавляем пустую строку
        if "!full_line!"=="" (
            echo. >> config1.ini.new
        ) else (
            :: Создаем копию строки без начальных пробелов для проверки
            set "trimmed_line=!full_line!"
            set "trimmed_line=!trimmed_line: =!"
            
            :: Проверяем, начинается ли строка с BinContainer (игнорируем регистр)
            set "is_bincontainer=0"
            for /f "tokens=1 delims== " %%x in ("!trimmed_line!") do (
                if /i "%%x"=="BinContainer" (
                    set "is_bincontainer=1"
                )
            )
            
            if !is_bincontainer! equ 1 (
                echo BinContainer = !bct_file! >> config1.ini.new
                set "bincontainer_updated=1"
            ) else (
                :: Сохраняем оригинальную строку как есть
                echo.!full_line! >> config1.ini.new
            )
        )
    )
)

:: Если BinContainer не было в файле, добавляем его
if "!bincontainer_updated!"=="0" (
    echo BinContainer = !bct_file! >> config1.ini.new
)

:: Заменяем старый файл новым
move /y config1.ini.new config1.ini >nul

echo Обновлено: BinContainer = !bct_file!
endlocal