用于KMS激活Windows及Office的批处理文件

有时候需要使用KMS激活多台电脑的Windows及Office,每台都去敲一边命令很麻烦,使用批处理能很好的解决此问题。


在任意位置创建空白的 .bat 文件,输入以下内容并保存:

@echo off

%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit

:menu
cls
echo.
echo Windows and Office Activation scripts.
echo Created by anyewuji on 2018/11/7.
echo.
echo.
echo ----------------------------------------------------------------------------------------
echo.
echo Activate Windows and Office, please enter " 1 "
echo.
echo Activate Windows, please enter " 2 "
echo.
echo Activate Office, please enter " 3 "
echo.
echo Activate Office 2019, please enter " 4 "
echo.
echo Check Winodws/Office activation status, please enter " 5 "
echo.
echo Exit this script, please enter " 6 "
echo.
echo ----------------------------------------------------------------------------------------
echo.
echo.
set /p menu-option=Please enter the program that needs to be activated ( 1-6 ) :
if "%menu-option%"=="1" (
goto:activation-windows
) else if "%menu-option%"=="2" (
goto:activation-windows
) else if "%menu-option%"=="3" (
goto:activation-office
) else if "%menu-option%"=="4" (
goto:activation-office2019
) else if "%menu-option%"=="5" (
goto:menu-check-activation
) else if "%menu-option%"=="6" (
goto:exit
) else (
goto:error
)

:menu-check-activation
cls
echo.
echo ----------------------------------------------------------------------------------------
echo.
echo Check Windows activation status, please enter " 1 "
echo.
echo Check Office activation status, please enter " 2 "
echo.
echo Return to main menu, please enter " 3 "
echo.
echo ----------------------------------------------------------------------------------------
echo.
set /p menu-check-activation-option=Please enter an option to Check ( 1-3 ) :
if "%menu-check-activation-option%"=="1" (
goto:check-windows-activation
) else if "%menu-check-activation-option%"=="2" (
goto:check-office-activation
) else if "%menu-check-activation-option%"=="3" (
goto:menu
) else (
goto:error
)

:activation-windows
cls
cd /d "%SystemRoot%\system32" >nul
echo Setting KMS server ...
slmgr /skms KMS-SERVER >nul
echo Activating Windows ...
slmgr /ato >nul
if "%menu-option%"=="1" (
goto:activation-office
) else (
goto:end
)

:activation-office
if "%menu-option%"=="1" (
echo Activation Windows is completed.
echo.
) else (
cls
)
if exist "%ProgramFiles%\Microsoft Office\Office16\ospp.vbs" cd /d "%ProgramFiles%\Microsoft Office\Office16" & echo You have installed Office 2016 64-bit & echo Activating Office 2016 64-bit ... & goto:gvlk-office2016
if exist "%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs" cd /d "%ProgramFiles(x86)%\Microsoft Office\Office16" & echo You have installed Office 2016 32-bit & echo Activating Office 2016 32-bit ... & goto:gvlk-office2016
if exist "%ProgramFiles%\Microsoft Office\Office15\ospp.vbs" cd /d "%ProgramFiles%\Microsoft Office\Office15" & echo You have installed Office 2013 64-bit & echo Activating Office 2013 64-bit ... & goto:gvlk-office2013
if exist "%ProgramFiles(x86)%\Microsoft Office\Office15\ospp.vbs" cd /d "%ProgramFiles(x86)%\Microsoft Office\Office15" & echo You have installed Office 2013 32-bit & echo Activating Office 2013 32-bit ... & goto:gvlk-office2013
if exist "%ProgramFiles%\Microsoft Office\Office14\ospp.vbs" cd /d "%ProgramFiles%\Microsoft Office\Office14" & echo You have installed Office 2010 64-bit & echo Activating Office 2010 64-bit ... & goto:gvlk-office2010
if exist "%ProgramFiles(x86)%\Microsoft Office\Office14\ospp.vbs" cd /d "%ProgramFiles(x86)%\Microsoft Office\Office14" & echo You have installed Office 2010 32-bit & echo Activating Office 2010 32-bit ... & goto:gvlk-office2010
goto:not-install

:gvlk-office2016
echo Installing GVLKs for KMS ...
cscript ospp.vbs /inpkey:XQNVK-8JYDB-WJ9W3-YJ8YR-WFG99 >nul
cscript ospp.vbs /inpkey:YG9NW-3K39V-2T3HJ-93F3Q-G83KT >nul
cscript ospp.vbs /inpkey:PD3PC-RHNGV-FXJ29-8JK7D-RJRJK >nul
goto:run-activation-office

:gvlk-office2013
echo Installing GVLKs for KMS ...
cscript ospp.vbs /inpkey:YC7DK-G2NP3-2QQC3-J6H88-GVGXT >nul
cscript ospp.vbs /inpkey:FN8TT-7WMH6-2D4X9-M337T-2342K >nul
cscript ospp.vbs /inpkey:C2FG9-N6J68-H8BTJ-BW3QX-RM3B3 >nul
goto:run-activation-office

:gvlk-office2010
echo Installing GVLKs for KMS ...
cscript ospp.vbs /inpkey:VYBBJ-TRJPB-QFQRF-QFT4D-H3GVB >nul
cscript ospp.vbs /inpkey:YGX6F-PGV49-PGW3J-9BTGG-VHKC6 >nul
cscript ospp.vbs /inpkey:7MCW8-VRQVK-G677T-PDJCM-Q8TCP >nul
goto:run-activation-office

:activation-office2019
cls
if exist "%ProgramFiles%\Microsoft Office\Office16\ospp.vbs" cd /d "%ProgramFiles%\Microsoft Office\Office16" & echo You have installed Office 2019 64-bit & echo Activating Office 2019 64-bit ... & goto:gvlk-office2019
if exist "%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs" cd /d "%ProgramFiles(x86)%\Microsoft Office\Office16" & echo You have installed Office 2019 32-bit & echo Activating Office 2019 32-bit ... & goto:gvlk-office2019
goto:not-install

:gvlk-office2019
echo Installing GVLKs for KMS ...
cscript ospp.vbs /inpkey:NMMKJ-6RK4F-KMJVX-8D9MJ-6MWKP >nul
cscript ospp.vbs /inpkey:B4NPR-3FKK7-T2MBV-FRQ4W-PKD2B >nul
cscript ospp.vbs /inpkey:9BGNQ-K37YR-RQHF2-38RQ3-7VCBB >nul
goto:run-activation-office

:run-activation-office
echo Setting KMS server ...
cscript ospp.vbs /sethst:KMS-SERVER >nul
echo Activating Office ...
cscript ospp.vbs /act >nul
cscript ospp.vbs /dstatus >nul
goto:end

:check-windows-activation
cls
cd /d "%SystemRoot%\system32" >nul
echo Checking Windows activation status ...
slmgr /dlv
goto:end-check-activation

:check-office-activation
cls
if exist "%ProgramFiles%\Microsoft Office\Office16\ospp.vbs" cd /d "%ProgramFiles%\Microsoft Office\Office16" & echo You have installed Office 2016 64-bit & echo Checking Office 2016 64-bit activation status ... & goto:run-check-office-activation
if exist "%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs" cd /d "%ProgramFiles(x86)%\Microsoft Office\Office16" & echo You have installed Office 2016 32-bit & echo Checking Office 2016 32-bit activation status ... & goto:run-check-office-activation
if exist "%ProgramFiles%\Microsoft Office\Office15\ospp.vbs" cd /d "%ProgramFiles%\Microsoft Office\Office15" & echo You have installed Office 2013 64-bit & echo Checking Office 2013 64-bit activation status ... & goto:run-check-office-activation
if exist "%ProgramFiles(x86)%\Microsoft Office\Office15\ospp.vbs" cd /d "%ProgramFiles(x86)%\Microsoft Office\Office15" & echo You have installed Office 2013 32-bit & echo Checking Office 2013 32-bit activation status ... & goto:run-check-office-activation
if exist "%ProgramFiles%\Microsoft Office\Office14\ospp.vbs" cd /d "%ProgramFiles%\Microsoft Office\Office14" & echo You have installed Office 2010 64-bit & echo Checking Office 2010 64-bit activation status ... & goto:run-check-office-activation
if exist "%ProgramFiles(x86)%\Microsoft Office\Office14\ospp.vbs" cd /d "%ProgramFiles(x86)%\Microsoft Office\Office14" & echo You have installed Office 2010 32-bit & echo Checking Office 2010 32-bit activation status ... & goto:run-check-office-activation
goto:not-install

:run-check-office-activation
cscript ospp.vbs /dstatus
goto:end-check-activation

:end-check-activation
echo.
echo ----------------------------------------------------------------------------------------
echo.
echo Check completed, please confirm the activation status.
echo.
echo Please press anykey to return to the main menu ...
echo.
echo ----------------------------------------------------------------------------------------
echo.
pause >nul
goto:menu

:end
echo.
echo Activation is completed.
echo.
echo ----------------------------------------------------------------------------------------
echo.
echo Continue to Activate other programs, please enter " 1 "
echo.
echo Exit this script, please enter " anykey (except 1) "
echo.
echo ----------------------------------------------------------------------------------------
echo.
set /p end-option=Please enter an option to continue activation or exit ( 1 or anykey ) :
if "%end-option%"=="1" (
goto:menu
) else (
goto:exit
)

:not-install
cls
echo.
echo ----------------------------------------------------------------------------------------
echo.
echo You have not installed Office, please re-run this script after installation.
echo Please press anykey to return to the main menu ...
echo.
echo ----------------------------------------------------------------------------------------
echo.
pause >nul
goto:menu

:error
cls
echo.
echo ----------------------------------------------------------------------------------------
echo.
echo Input errors, please re-enter ! ! !
echo Please press anykey to return to the main menu ...
echo.
echo ----------------------------------------------------------------------------------------
echo.
pause >nul
goto:menu

:exit
exit

说明:
1、请将上述内容中两处 KMS-SERVER 替换为你所使用的KMS服务器地址
2、批处理主菜单第一项,仅支持同时激活Windows及Office2010-Office2016,不支持激活Office2019,如需激活Office2019,请选择第4项