@echo off setlocal enabledelayedexpansion rem Set size limit for input set SIZE_LIMIT=2 :main_menu cls echo ============================== echo Windows Activation Script echo ============================== echo Select the Windows version to activate: echo. echo 1. Windows 10 echo 2. Windows 11 set /p version_choice="Enter your choice (1 or 2): " rem Check input length if "!version_choice!" neq "" ( if "!version_choice:~%SIZE_LIMIT%!" neq "" ( echo Input exceeds the size limit of %SIZE_LIMIT% characters. pause goto :main_menu ) ) if "%version_choice%"=="1" ( call :activate_windows10 ) else if "%version_choice%"=="2" ( call :activate_windows11 ) else ( echo Invalid choice. Exiting... pause exit /b ) goto :eof :activate_windows10 cls echo ============================== echo Windows 10 Edition Selection echo ============================== echo 1. Windows 10 Professional echo 2. Windows 10 Enterprise echo 3. Windows 10 Education set /p win10_choice="Select the edition (1-3): " rem Check input length if "!win10_choice!" neq "" ( if "!win10_choice:~%SIZE_LIMIT%!" neq "" ( echo Input exceeds the size limit of %SIZE_LIMIT% characters. pause goto :activate_windows10 ) ) if "%win10_choice%"=="1" ( set key=W269N-WFGWX-YVC9B-4J6C9-T83GX ) else if "%win10_choice%"=="2" ( set key=NPPR9-FWDCX-D2C8J-H872K-2YT43 ) else if "%win10_choice%"=="3" ( set key=NW6C2-QMPVW-D7KKK-3GKT6-VCFB2 ) else ( echo Invalid choice. Exiting... pause exit /b ) echo Using key: !key! slmgr /ipk !key! set KMS_SERVER=kms.nerdtown.cc slmgr /skms %KMS_SERVER% echo KMS Server set to %KMS_SERVER% slmgr /ato pause goto :eof :activate_windows11 cls echo ============================== echo Windows 11 Edition Selection echo ============================== echo 1. Windows 11 Professional echo 2. Windows 11 Pro For Workstations echo 3. Windows 11 Pro Education echo 4. Windows 11 Education echo 5. Windows 11 Enterprise set /p win11_choice="Select the edition (1-5): " rem Check input length if "!win11_choice!" neq "" ( if "!win11_choice:~%SIZE_LIMIT%!" neq "" ( echo Input exceeds the size limit of %SIZE_LIMIT% characters. pause goto :activate_windows11 ) ) if "%win11_choice%"=="1" ( set key=W269N-WFGWX-YVC9B-4J6C9-T83GX ) else if "%win11_choice%"=="2" ( set key=NRG8B-VKK3Q-CXVCJ-9G2XF-6Q84J ) else if "%win11_choice%"=="3" ( set key=6TP4R-GNPTD-KYYHQ-7B7DP-J447Y ) else if "%win11_choice%"=="4" ( set key=NW6C2-QMPVW-D7KKK-3GKT6-VCFB2 ) else if "%win11_choice%"=="5" ( set key=NPPR9-FWDCX-D2C8J-H872K-2YT43 ) else ( echo Invalid choice. Exiting... pause exit /b ) echo Using key: !key! slmgr /ipk !key! set KMS_SERVER=kms.nerdtown.cc slmgr /skms %KMS_SERVER% echo KMS Server set to %KMS_SERVER% slmgr /ato pause goto :eof