Имеется вот такой код, для чтения внешнего конфига:
Код:
set "MainConfig=Silver Raven mods pack data\main_config.ini"
set "HDAudioConfig=Silver Raven mods pack data\hd_audio_config.ini"
set "ControlPanelFilesListConfig=Silver Raven mods pack data\control_panel_files_list.cfg"
set "ENBINI=enbseries\enbeffect.fx.ini"
:: Чтение конфиг-файлов сборки
for %%N in ("%MainConfig%" "%HDAudioConfig%" "%ENBINI%") do <"%%~N" (for /f "eol=[ delims=" %%A in ('more') do set "%%A")
call :read_control_panel_files_list_config "%ControlPanelFilesListConfig%"
:: Проверка наличия всех файлов для панели управления в Silver Raven mods pack data
for %%? in (%$ControlPanelFilesList%) do (
if not defined ControlPanelFilesIsMissingFiles if not exist "%%~?" set "ControlPanelFilesIsMissingFiles=1"
)
if defined ControlPanelFilesIsMissingFiles (
color fc
echo.
echo.
echo *ОШИБКА! Нижеуказанные файлы, необходимые для корректной работы программы, не найдены:
echo ______________________________________________________________________________________
echo.
echo.
for %%? in (%$ControlPanelFilesList%) do if not exist "%%~?" <nul echo %%~?
echo.
echo.
echo ______________________________________________________________________________________
echo.
echo *ОШИБКА! Вышеуказанные файлы, необходимые для корректной работы программы, не найдены.
echo.
echo.
pause
exit
)
goto другой код
:read_control_panel_files_list_config
for /f "usebackq eol=; tokens=1,2* delims=" %%A in ("%~1") do set "$%%A=%%B"
exit /b
Используется для проверки наличия всех файлов в определенной папке по списку вида:
ControlPanelFilesList="Silver Raven mods pack data\ENB\enbseries\textures\SMAA_SearchTex.dds" "Silver Raven mods pack data\ENB\enbseries\!_L_Dungeons.ini" и т.д.
Хочу перетащить этот список в новый ini конфиг состоящий из секций (переменная %MainConfig%). Что подправить, чтобы он корректно читался?