1
0
Files
PonyWave-Tools/pokemon_quiz/images/download-sprites.bat
2025-03-08 19:08:50 +01:00

160 lines
3.9 KiB
Batchfile

@echo off
setlocal enabledelayedexpansion
:main_menu
cls
echo Pokemon-Sprite-Downloader
echo ==============================================
echo Diese Datei laedt Sprites von Pokemon.com herunter und sortiert sie nach Generationen.
echo.
echo HINWEIS: Dieses Script benoetigt curl.exe, um die Bilder herunterzuladen.
echo Falls curl nicht installiert ist, bitte von https://curl.se/windows/ herunterladen.
echo.
:: Erstelle Generationsordner falls diese nicht existieren
mkdir gen1 2>nul
mkdir gen2 2>nul
mkdir gen3 2>nul
mkdir gen4 2>nul
mkdir gen5 2>nul
mkdir gen6 2>nul
mkdir gen7 2>nul
mkdir gen8 2>nul
mkdir gen9 2>nul
echo Generationsordner wurden erstellt/geprueft.
echo.
:: Prüfe, ob curl verfügbar ist
where curl >nul 2>nul
if %errorlevel% neq 0 (
echo FEHLER: curl.exe wurde nicht gefunden!
echo Bitte installiere curl und stelle sicher, dass es im PATH verfuegbar ist.
echo Download: https://curl.se/windows/
echo.
pause
exit /b 1
)
echo Waehle die Generation zum Herunterladen:
echo 1 - Generation 1 (001-151)
echo 2 - Generation 2 (152-251)
echo 3 - Generation 3 (252-386)
echo 4 - Generation 4 (387-493)
echo 5 - Generation 5 (494-649)
echo 6 - Generation 6 (650-721)
echo 7 - Generation 7 (722-809)
echo 8 - Generation 8 (810-905)
echo 9 - Generation 9 (906-1025)
echo 10 - Alle Generationen
echo 11 - Beenden
echo.
set /p gen="Deine Auswahl (1-11): "
:: Beenden, wenn Option 11 gewählt wurde
if "%gen%"=="11" (
echo Programm wird beendet...
exit /b 0
)
:: Setze Start- und Endnummern basierend auf der Auswahl
if "%gen%"=="1" (
set start=1
set end=151
set targetDir=gen1
) else if "%gen%"=="2" (
set start=152
set end=251
set targetDir=gen2
) else if "%gen%"=="3" (
set start=252
set end=386
set targetDir=gen3
) else if "%gen%"=="4" (
set start=387
set end=493
set targetDir=gen4
) else if "%gen%"=="5" (
set start=494
set end=649
set targetDir=gen5
) else if "%gen%"=="6" (
set start=650
set end=721
set targetDir=gen6
) else if "%gen%"=="7" (
set start=722
set end=809
set targetDir=gen7
) else if "%gen%"=="8" (
set start=810
set end=905
set targetDir=gen8
) else if "%gen%"=="9" (
set start=906
set end=1025
set targetDir=gen9
) else if "%gen%"=="10" (
set start=1
set end=1025
set targetDir=all
) else (
echo Ungueltige Auswahl.
pause
goto main_menu
)
echo Starte Download...
echo.
:: Download basierend auf dem gewählten Bereich
if "%targetDir%"=="all" (
:: Alle Generationen
for /l %%i in (1, 1, 151) do call :download_pokemon %%i gen1
for /l %%i in (152, 1, 251) do call :download_pokemon %%i gen2
for /l %%i in (252, 1, 386) do call :download_pokemon %%i gen3
for /l %%i in (387, 1, 493) do call :download_pokemon %%i gen4
for /l %%i in (494, 1, 649) do call :download_pokemon %%i gen5
for /l %%i in (650, 1, 721) do call :download_pokemon %%i gen6
for /l %%i in (722, 1, 809) do call :download_pokemon %%i gen7
for /l %%i in (810, 1, 905) do call :download_pokemon %%i gen8
for /l %%i in (906, 1, 1025) do call :download_pokemon %%i gen9
) else (
:: Einzelne Generation
for /l %%i in (%start%, 1, %end%) do call :download_pokemon %%i %targetDir%
)
echo.
echo Download abgeschlossen.
echo.
echo Was moechtest du als naechstes tun?
echo 1 - Weitere Pokemon herunterladen
echo 2 - Programm beenden
echo.
set /p next_action="Deine Auswahl (1-2): "
if "%next_action%"=="1" (
goto main_menu
) else (
echo Programm wird beendet...
exit /b 0
)
:download_pokemon
set num=%1
set genDir=%2
:: Führende Nullen hinzufügen
if %num% LSS 10 (
set padded=00%num%
) else if %num% LSS 100 (
set padded=0%num%
) else (
set padded=%num%
)
echo Lade Pokemon #%padded% herunter...
curl -s -o "%genDir%\%padded%.png" "https://www.pokemon.com/static-assets/content-assets/cms2/img/pokedex/full/%padded%.png"
timeout /t 1 >nul
exit /b 0