Silver Raven
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору GCRaistlin Вот, это уже годно и спецсимволы отрабатывает нормально. Только что-то надо еще подергать, потому как в случае, если все проверяемые по списку файлы на месте, CMD-шник падает. Код: set "ControlPanelFilesListConfig=Silver Raven mods pack data\fileslist.cfg" call :read_control_panel_files_list_config "%ControlPanelFilesListConfig%" :: Проверка наличия всех файлов для панели управления в Silver Raven mods pack data setlocal EnableDelayedExpansion for %%? in (!$ControlPanelFilesList!) do ( if "" == "!!" endlocal if not exist "%%?" ( set File=%%? setlocal EnableDelayedExpansion for /f "delims=" %%A in ("!ControlPanelFilesListMissingFiles!, !File!") do ( endlocal set ControlPanelFilesListMissingFiles=%%A ) ) ) if defined %ControlPanelFilesListMissingFiles% ( color fc echo. echo. echo. echo *ОШИБКА! Нижеуказанные файлы, необходимые для корректной работы программы, не найдены: echo. for /f "usebackq tokens=1* delims==" %%A in ("%ControlPanelFilesListConfig%") do ( for %%? in (%%B) do if not exist %%? set ControlPanelFilesListMissingFiles=1 && echo %%~? echo. echo. echo. echo *ОШИБКА! Вышеуказанные файлы, необходимые для корректной работы программы, не найдены. echo. echo Извлеките папку Silver Raven mods pack data из установочных архивов со сборкой в папку игры вручную и перезапустите панель управления. Убедитесь, что антивирусное ПО не блокирует ее работу. echo. echo. pause exit ) :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: Чтение конфиг-файла fileslist.cfg :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\Additional options\Alternate Start\Alternate Start - Live Another Life.esp" "Silver Raven mods pack data\Additional options\Alternate Start\Alternate Start - Live Another Life.bsa" "Silver Raven mods pack data\Additional options\Serana\Cured\00002b6c.nif" "Silver Raven mods pack data\Additional options\Serana\Vampire\00002b6c.nif" "Silver Raven mods pack data\Additional options\Vampires eyes\Blue\eyeargonianvampirefemale.dds" "Silver Raven mods pack data\ENB\enbseries\textures\SMAA_AreaTex.dds" "Silver Raven mods pack data\ENB\enbseries\textures\SMAA_SearchTex.dds" "Silver Raven mods pack data\ENB\enbseries\!_L_Dungeons.ini" "Silver Raven mods pack data\ENB\enbseries\!_L_Dwarven_Ruins.ini" и т.д. | Вообще, я бы переделал конфиг на такой (ужас выше, в одну строку, нечитабелен): Код: [ControlPanelFilesList] "Silver Raven mods pack data\Additional options\Alternate Start\Alternate Start - Live Another Life.esp" "Silver Raven mods pack data\Additional options\Alternate Start\Alternate Start - Live Another Life.bsa" "Silver Raven mods pack data\Additional options\Serana\Cured\00002b6c.nif" "Silver Raven mods pack data\Additional options\Serana\Vampire\00002b6c.nif" и т.д. | В принципе, можно обойтись и без секции [ControlPanelFilesList], если это заметно сократит код. VVL99 Хотелось бы взглянуть на код тех красивых разделителей строк, что вы показывали на своих скриншотах. Например, этот: https://jpegshare.net/images/02/c6/02c6fe0539262a177373ad8005d327ff.png |