CMD/BAT - Изменить код чтения конфига

Ответить
Аватара пользователя
Silver Raven

CMD/BAT - Изменить код чтения конфига

Сообщение Silver Raven »

Имеется вот такой код, для чтения внешнего конфига:





Код:

Код: Выделить всё

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" и т.д.[/i]



Хочу перетащить этот список в новый ini конфиг состоящий из секций (переменная %MainConfig%). Что подправить, чтобы он корректно читался?
Ответить

Вернуться в «Скриптовые языки администрирования Windows»