Create launcher.bat

Adding laucher.bat for create shortcut to fast change of configure. Usable for laptops rapidly moved between different Internet providers.
This commit is contained in:
Typikal_Failman 2025-06-09 19:29:59 +05:00 committed by GitHub
parent 87ee178546
commit d68879e6d8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

69
launcher.bat Normal file
View File

@ -0,0 +1,69 @@
@echo off
chcp 65001 > nul
setlocal enabledelayedexpansion
:: Создаем временный файл для сортировки
set "tempfile=%temp%\%~n0_temp.txt"
if exist "%tempfile%" del "%tempfile%"
:: Счетчик файлов
set count=0
:: Собираем файлы с приоритетной сортировкой
for %%f in (*.bat) do (
if /i not "%%~nxf"=="launcher.bat" (
set "name=%%f"
set "sortkey=5_%%f" :: По умолчанию - группа 5
:: Определяем приоритетные группы
if /i "!name!"=="general.bat" set "sortkey=1_!name!"
if /i "!name!" neq "general.bat" (
echo "!name!" | findstr /i /c:"general (ALT" >nul && set "sortkey=2_!name!"
echo "!name!" | findstr /i /c:"general (МГТС" >nul && set "sortkey=3_!name!"
if "!sortkey:~0,1!"=="5" (
echo "!name!" | findstr /i "general" >nul && set "sortkey=4_!name!"
)
)
:: Записываем во временный файл
echo !sortkey!>>"%tempfile%"
)
)
:: Проверяем наличие файлов
if not exist "%tempfile%" (
echo В директории нет других BAT-файлов.
pause
exit /b
)
:: Сортируем и выводим список
for /f "tokens=1* delims=_" %%a in ('sort "%tempfile%"') do (
set /a count+=1
set "file!count!=%%b"
echo [!count!] %%b
)
:: Удаляем временный файл
del "%tempfile%" >nul 2>&1
:: Блок ввода номера
:input
echo.
set /p "choice=Введите номер файла (1-%count%): "
echo.
:: Проверка корректности ввода
set valid=0
for /l %%i in (1,1,%count%) do if "!choice!"=="%%i" set valid=1
if !valid! equ 0 (
echo Ошибка: неверный номер. Введите число от 1 до %count%.
goto input
)
:: Запуск выбранного файла
echo Запускаем файл: !file%choice%!
call "!file%choice%!"
endlocal