alpap, маска - только цифры с точками (или последние пять символов) файла без расширения, начинающегося на
Silver Raven mods pack ver.
Чуть дополню условия поиска: если нашли два файла идентификатора (т.е. тот, который задан в bat-нике и еще любой другой), так же выкидываем ошибку.
Т.е.
1. Актуальный id и ничего более - ок
2. Только устаревший id - ошибка №1 (из сообщений выше)
3. Актуальный id и устаревший id - ошибка №2
4. Не нашли вообще ничего - ошибка №3
Цитата Iska:
Да, сначала TEST1 будет красного, а затем тоже стал бы белым (если бы Вы не очищали консоль посредствм «cls»). »
|
Да знаю я, что командой
color окрашивается весь текст консоли, и без сторонних средств нормальную замену не сделать. Но мне этого и не нужно. Достаточно того, что я слепил. Главное - пользователь видит менюшки белыми а ошибки - красными. Другое дело, что не все из них (сообщений об ошибках) почему-то реагируют на команду, оставаясь белого цвета.
Вбейте кто-нибудь код целиком в тестовый файл. Я не вижу ошибок.
Скрытый текст
Код:

cls
@echo off
title Панель управления Silver Raven mods pack
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Проверка доступности файлов игры
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
set "GameExeFile=SkyrimSE.exe"
if not exist "%GameExeFile%" ( color 0c
echo.
echo ╔═══════════════════════════════════════════════════════════╗
echo ║ Панель управления для Silver Raven mods pack версии 1.2.7 ║
echo ╚═══════════════════════════════════════════════════════════╝
echo.
echo.
echo *ОШИБКА! Панель управления сборкой не предназначена для запуска вне папки с игрой. Перезапустите приложение из папки игры для корректной работы.
echo.
echo.
pause
exit
)
:: Поиск процеса игры
tasklist |> nul find "skyrimse.exe" && ( color 0c
echo.
echo ╔═══════════════════════════════════════════════════════════╗
echo ║ Панель управления для Silver Raven mods pack версии 1.2.7 ║
echo ╚═══════════════════════════════════════════════════════════╝
echo.
echo.
echo *Внимание! Обнаружен запущенный процесс игры (SkyrimSE.exe). Выйдете из игры, прежде чем запускать панель управления сборкой!
echo.
echo.
pause
exit
)
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Проверка актуальности сборки
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
set "ModsPackVerID=Silver Raven mods pack ver.1.2.7.*"
if not exist "%ModsPackVerID%" ( color 0c
echo.
echo ╔═══════════════════════════════════════════════════════════╗
echo ║ Панель управления для Silver Raven mods pack версии 1.2.7 ║
echo ╚═══════════════════════════════════════════════════════════╝
echo.
echo.
echo *ВНИМАНИЕ! Обнаружен устаревший идентификатор сборки версии %VerID%. Вероятно, установка или обновление до данной версии было произведено некорректно. Рекомендуется произвести полное удаление, с ручной очисткой оставшихся файлов и установить сборку заново.
echo.
echo.
pause
)
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Основное меню панели управления сборкой
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:main_menu
cls
color 07
@echo.
@echo ╔═══════════════════════════════════════════════════════════╗
@echo ║ Панель управления для Silver Raven mods pack версии 1.2.7 ║
@echo ╚═══════════════════════════════════════════════════════════╝
@echo.
@echo.
@echo ■ 1. Копирование отсортированного списка плагинов (модов) в AppData пользователя.
@echo.
@echo Нажав цифру 1, вы подтверждаете свое согласие на копирование.
@echo.
@echo.
@echo.
@echo ■ 2. Проверка наличия обновлений сборки. (Настоятельно рекомендуется проводить хотя-бы раз в месяц)
@echo.
@echo Нажав цифру 2, вы подтверждаете свое согласие на переход в меню выбора источника загрузки обновлений.
@echo.
@echo.
@echo.
@echo ■ 3. Загрузка ReShade. (Не влияет на производительность игры, в отличии от ENB и SweetFX)
@echo.
@echo Нажав цифру 3, вы подтверждаете свое согласие на переход по ссылке загрузки. (Откроется браузер)
@echo.
@echo.
@echo.
@echo ■ 4. Загрузка LOOT.
@echo Если вы собираетесь добавлять новые плагины (моды) к сборке, воспользуйтесь данной утилитой для сортировки порядка их загрузки.
@echo.
@echo Нажав цифру 4, вы подтверждаете свое согласие на переход по ссылке загрузки. (Откроется браузер)
@echo.
@echo.
@echo.
@echo ■ 5. Полное удаление сборки. (Если вы хотите сохранить какие-либо файлы, сделайте это сейчас)
@echo.
@echo Нажав цифру 5, вы подтверждаете свое согласие на переход в меню удаления сборки.
@echo.
@echo.
@echo.
@echo [Чтобы просмотреть все опции панели управления используйте прокрутку]
@echo.
@echo.
@Set /p var="> Введите номер опции и нажмите Enter: "
if %var%==1 call :option_1
if %var%==2 call :option_2
if %var%==3 call :option_3
if %var%==4 call :option_4
if %var%==5 call :option_5
goto main_menu
pause& exit
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Копирование отсортированного списка плагинов
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:option_1
cls
set "FileIn=Plugins.txt"
set "BoxOut=%USERPROFILE%\AppData\Local\Skyrim Special Edition"
if not exist "%FileIn%" ( color 0c
echo.
echo *ОШИБКА! Файл Plugins.txt не найден!
echo.
echo Не удалось скопировать отсортированный список плагинов в AppData пользователя.
echo Извлеките необходимый файл из установочных архивов со сборкой в папку с игрой вручную и перезапустите панель управления сборкой, или воспользуйтесь сортировкой плагинов с помощью программы LOOT. *Опция присутствует в данной панели управления.
echo.
echo.
pause
exit /b
)
if not exist "%BoxOut%" md "%BoxOut%"
copy /y "%FileIn%" "%BoxOut%\"
@echo.
@echo Отсортированный список плагинов скопирован в AppData пользователя.
@echo.
@echo.
pause
exit /b
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Проверка обновлений
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:option_2
cls
@echo.
@echo Выберете источник проверки обновлений (будет открыт браузер):
@echo.
@echo ╔══════════════════════════════════════════════════════════════════╗
@echo ║ ╔═══╗ ╔═══╗ ╔═══╗ ║
@echo ║ ║ 1 ║ ЯндексДиск ║ 2 ║ Gamer-Mods.ru ║ 3 ║ RuTracker.org ║
@echo ║ ╚═══╝ ╚═══╝ ╚═══╝ ║
@echo ╚══════════════════════════════════════════════════════════════════╝
@echo Вернуться в главное меню - 0
@echo.
@echo *Если вы хотите сообщить об ошибке(ах) в сборке или просто высказать свои идеи и предложения автору, рекомендуется использовать 2-ой вариант.
@echo.
@echo.
@Set /p var="> Введите свой ответ и нажмите Enter: "
if %var%==1 call :option_2_check_updates_yandexdisk
if %var%==2 call :option_2_check_updates_gamer-mods
if %var%==3 call :option_2_check_updates_rutracker
if %var%==0 goto main_menu
:: Проверка обновлений - ЯндексДиск
:option_2_check_updates_yandexdisk
cls
start https://yadi.sk/d/qyJbvZs43Mb3fR
goto main_menu
:: Проверка обновлений - Gamer-mods.ru
:option_2_check_updates_gamer-mods
cls
start http://gamer-mods.ru/forum/73-2082-1
goto main_menu
:: Проверка обновлений - RuTracker.org
:option_2_check_updates_rutracker
cls
start https://rutracker.org/forum/viewtopic.php?t=5356842
goto main_menu
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Загрузка ReShade
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:option_3
cls
start https://reshade.me
exit /b
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Загрузка LOOT
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:option_4
cls
start https://loot.github.io
exit /b
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Удаление сборки
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:option_5
cls
@echo Удаление Silver Raven mods pack.
@echo.
@echo ╔═══╗ ╔═══╗
@echo Нажмите ║ Y ║ для подтверждения начала процесса удаления сборки или ║ N ║ для его отмены.
@echo ╚═══╝ ╚═══╝
@echo.
@echo *ВСЕ файлы в подпапках Interface, Meshes, Scripts, Textures, Video, а также плагины сборки и данный exe файл будут удалены!
@echo.
@echo.
@Set /p var="> Введите свой ответ и нажмите Enter: "
if %var%==y call :option_5_start_uninstall
if %var%==n goto main_menu
:option_5_start_uninstall
:: Удаление папок сборки
cls
setlocal enableextensions enabledelayedexpansion
pushd "%~dp0" & (
rd /s /q "Data\Interface" "Data\Meshes" "Data\Scripts" "Data\Textures" "Data\Video"
:: Удаление плагинов сборки и прочих файлов
del /f /q "Data\A Quality World Map - Textures.*" "Data\A Quality World Map.*" "Data\Better Dynamic Snow.*" "Data\Book Covers Skyrim - Textures.*" "Data\Book Covers Skyrim.*" "Data\Cutting Room Floor.*" "Data\Enhanced Blood.*" "Data\Footprints.*" "Data\Immersive Citizens - AI Overhaul.*" "Data\Improved Closefaced Helmets.*" "Data\Improved Puddles.*" "Data\No Snow Under The Roof - Cutting Room Floor Patch.* "Data\No Snow Under The Roof.*" "Data\Northfires Photoreal Mountains.*" "Data\RealisticWaterTwo.*" "Data\Silver Raven Mods Pack.*" "Data\Skyrim Flora Overhaul.*" "Data\Snazzy Furniture and Clutter Overhaul.*" "Data\Static Mesh Improvement Mod.*" "Data\The Paarthurnax Dilemma.*" "Data\True Storms - Textures.*" "Data\True Storms.*" "Data\Unofficial Skyrim Special Edition Patch.*" "Data\Wet and Cold.*" "Data\icepenguinworldmapclassic.*" "Plugins.*" "Readme.*" "Readme update.*"
popd
)
endlocal
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Удаление самого cmd(exe)-шника
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
del "%~dpnx0"