@echo off REM === Batchr Menu Launcher === REM Repository: https://git.weektab.org/companas/batchr REM Powered by Weektab REM Author: Flamur Veliqi (Netbie) setlocal enabledelayedexpansion :MAIN_MENU cls echo Batchr Menu Launcher echo. echo Powered by Weektab echo Web: www.weektab.org echo E-Mail: support@weektab.org echo Project: Companas echo Repository: git.weektab.org/companas/batchr echo Author: Flamur Veliqi (Netbie) echo. echo ////////////////////////////////////////////////// echo. echo Select script category: echo. echo [1] Own Scripts (from /files) echo [2] Third-Party Scripts (from /files/third_party) echo [0] Exit echo. echo ////////////////////////////////////////////////// echo. set /p CATEGORY="Select option: " if "%CATEGORY%"=="0" goto EXIT if "%CATEGORY%"=="1" ( set "SCRIPT_PATH=files" set "API_PATH=files" set "CATEGORY_NAME=Own Scripts" goto MENU ) if "%CATEGORY%"=="2" ( set "SCRIPT_PATH=files/third_party" set "API_PATH=files/third_party" set "CATEGORY_NAME=Third-Party Scripts" goto MENU ) echo Invalid selection! timeout /t 2 >nul goto MAIN_MENU :MENU cls echo Batchr Menu Launcher - !CATEGORY_NAME! echo. echo Powered by Weektab echo Web: www.weektab.org echo E-Mail: support@weektab.org echo Project: Companas echo Repository: git.weektab.org/companas/batchr echo Author: Flamur Veliqi (Netbie) echo. echo ////////////////////////////////////////////////// echo. echo Scanning /!SCRIPT_PATH! directory... echo. REM Use Gitea API to list files in selected directory powershell -Command "$ProgressPreference = 'SilentlyContinue'; try { $response = Invoke-RestMethod -Uri 'https://git.weektab.org/api/v1/repos/companas/batchr/contents/!API_PATH!'; $batFiles = $response | Where-Object { $_.name -like '*.bat' } | Select-Object -ExpandProperty name | Sort-Object; if ($batFiles) { $batFiles | Out-File '%TEMP%\repo_scripts.txt' -Encoding ASCII -NoNewline:$false } else { 'NONE' | Out-File '%TEMP%\repo_scripts.txt' -Encoding ASCII } } catch { 'ERROR' | Out-File '%TEMP%\repo_scripts.txt' -Encoding ASCII }" 2>nul if not exist "%TEMP%\repo_scripts.txt" ( echo ERROR: Unable to access repository API pause goto MAIN_MENU ) REM Check for errors set "FIRST_LINE=" for /f "delims=" %%a in (%TEMP%\repo_scripts.txt) do ( set "FIRST_LINE=%%a" goto :check_error ) :check_error if "%FIRST_LINE%"=="ERROR" ( echo ERROR: API request failed pause goto MAIN_MENU ) if "%FIRST_LINE%"=="NONE" ( echo No .bat files found in /!SCRIPT_PATH! directory! pause goto MAIN_MENU ) REM Get all script titles in one PowerShell call echo Extracting list... echo. powershell -Command "$ProgressPreference = 'SilentlyContinue'; try { $files = Get-Content '%TEMP%\repo_scripts.txt'; $results = @(); foreach ($file in $files) { if ($file -and $file -ne '' -and $file -ne 'NONE' -and $file -ne 'ERROR') { try { $url = 'https://git.weektab.org/companas/batchr/raw/branch/main/!SCRIPT_PATH!/' + $file; $content = (Invoke-WebRequest -Uri $url -UseBasicParsing).Content; if ($content -match 'REM\s*===\s*(.+?)\s*===') { $results += $file + '|' + $matches[1] } else { $results += $file + '|' } } catch { $results += $file + '|' } } }; $results | Out-File '%TEMP%\repo_titles.txt' -Encoding ASCII } catch { }" 2>nul REM Display menu set INDEX=0 for /f "tokens=1,2 delims=|" %%a in (%TEMP%\repo_titles.txt) do ( set "FILENAME=%%a" set "SCRIPT_TITLE=%%b" if not "!FILENAME!"=="" ( set /a INDEX+=1 set "SCRIPT_NAME[!INDEX!]=!FILENAME!" REM Fallback to formatted filename if title not found if "!SCRIPT_TITLE!"=="" ( set "SCRIPT_TITLE=!FILENAME:.bat=!" set "SCRIPT_TITLE=!SCRIPT_TITLE:-= !" set "SCRIPT_TITLE=!SCRIPT_TITLE:_= !" ) set "DISPLAY[!INDEX!]=!SCRIPT_TITLE!" echo [!INDEX!] !SCRIPT_TITLE! ) ) set TOTAL_SCRIPTS=%INDEX% if %TOTAL_SCRIPTS%==0 ( echo No .bat files found! pause goto MAIN_MENU ) echo. echo [R] Refresh List echo [B] Back to Category Selection echo [0] Exit echo. echo ////////////////////////////////////////////////// echo. set /p CHOICE="Select option: " if /i "%CHOICE%"=="R" goto MENU if /i "%CHOICE%"=="B" goto MAIN_MENU if "%CHOICE%"=="0" goto EXIT REM Validate selection set "VALID=0" for /l %%i in (1,1,%TOTAL_SCRIPTS%) do ( if "%CHOICE%"=="%%i" set "VALID=1" ) if "%VALID%"=="0" ( echo Invalid selection! timeout /t 2 >nul goto MENU ) REM Execute script cls echo /// Executing: !DISPLAY[%CHOICE%]! echo. set "SCRIPT_URL=https://git.weektab.org/companas/batchr/raw/branch/main/!SCRIPT_PATH!/!SCRIPT_NAME[%CHOICE%]!" set "TEMP_SCRIPT=%TEMP%\batch_script_%RANDOM%.bat" echo Downloading script... powershell -Command "$ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest -Uri '!SCRIPT_URL!' -OutFile '%TEMP_SCRIPT%'" 2>nul if not exist "%TEMP_SCRIPT%" ( echo ERROR: Download failed! echo URL: !SCRIPT_URL! pause goto MENU ) echo Script downloaded successfully! echo. echo /// Script initialized echo. call "%TEMP_SCRIPT%" if exist "%TEMP_SCRIPT%" del "%TEMP_SCRIPT%" 2>nul echo. echo ////////////////////////////////////////////////// echo Completed! echo ////////////////////////////////////////////////// pause goto MENU :EXIT if exist "%TEMP%\repo_readme.md" del "%TEMP%\repo_readme.md" 2>nul if exist "%TEMP%\repo_scripts.txt" del "%TEMP%\repo_scripts.txt" 2>nul if exist "%TEMP%\repo_titles.txt" del "%TEMP%\repo_titles.txt" 2>nul cls echo Goodbye! timeout /t 1 >nul exit