@ECHO off
REM V2.0 2026-03-12 
cd /d %windir%

:: 1. 檢查系統管理員權限
NET SESSION >nul 2>&1
IF %ERRORLEVEL% NEQ 0 (
    CLS
    ECHO.
    ECHO   +--------------------------------------------------------+
    ECHO   ^|                     執行權限不足！                     ^|
    ECHO   +--------------------------------------------------------+
    ECHO.
    ECHO   本程式需要系統管理員權限才能執行。
    ECHO.
    ECHO   請關閉此視窗，並對此 .bat 檔案【按右鍵】，
    ECHO   然後選擇【以系統管理員身分執行】。
    ECHO.
    PAUSE
    GOTO :EOF
)


ECHO ----------------------------------------------------------------
ECHO 　　　　　　　　　Office 2024 啟用程式(v2.0)
ECHO 　　　　　　　MS Office 2024 Activation Program
ECHO ----------------------------------------------------------------
ECHO.
REM Check OS edition
For /F "tokens=2 delims=[]" %%G in ('ver') Do (set _version=%%G) 
For /F "tokens=2 delims=. " %%G in ('echo %_version%') Do (set _major=%%G) 
if "%_major%"=="5" (
goto actxp
) else (
goto goact
)

:goact
if exist "%systemdrive%\office19rpt.pdf" (
cd "%systemdrive%\"
ren office19rpt.pdf office19.log
) 
ECHO.  >>"%systemdrive%\office19.log"
ECHO ***************************************************** >>"%systemdrive%\office19.log"
ECHO    %date% %time% 執行啟用程式(v1.0) >>"%systemdrive%\office19.log"
ECHO ***************************************************** >>"%systemdrive%\office19.log"
ECHO 步驟1：檢查是否已連上校園網路
ECHO.
ipconfig >"%systemdrive%\ip.log"
find /C /I "140.119" "%systemdrive%\ip.log" >nul
if %ERRORLEVEL% EQU 0 (
DEL /q "%systemdrive%\ip.log"
goto act
) else (
DEL /q "%systemdrive%\ip.log"
ECHO 　                    您可能尚未連上網校園網路
ECHO 　           ┌－－－－－－－－－－－－－－－－－－┐
ECHO 　           │如在在校外，請關閉此程式，連上VPN後 │
ECHO 　           │再執行一次，否則將啟用失敗。　　　　│
ECHO 　           └－－－－－－－－－－－－－－－－－－┘
ECHO.
ECHO 是否關閉此程式？（如您已連上校園無線網路，請按 N） 
CHOICE /C yn /M "Y)是  N)否"
if ERRORLEVEL 2 goto act
if ERRORLEVEL 1 goto cnct
)

:act
ECHO 步驟2：檢查是否已安裝Office 2024
ECHO.
if exist "%installdir%\Program Files\Microsoft Office\root\Office16\WINWORD.EXE" (
set OfficePath="%installdir%\Program Files\Microsoft Office\Office16\"
ECHO ===SameByte=== >>"%systemdrive%/office19.log"
goto acta
) else if exist "%installdir%\Program Files (x86)\Microsoft Office\root\Office16\WINWORD.EXE" (
set OfficePath="%installdir%\Program Files (x86)\Microsoft Office\Office16\"
ECHO ===DifByte=== >>"%systemdrive%/office19.log"
goto acta
) else (
goto msg
)

:acta
ECHO 步驟3：指定連線主機
ECHO.
cscript %OfficePath%ospp.vbs /sethst:cckms.nccu.edu.tw >> "%systemdrive%\office19.log"
ECHO 步驟4：啟用Office 2024
ECHO.
cscript %OfficePath%ospp.vbs /act >>"%systemdrive%\isact.log"
type "%systemdrive%\isact.log" >> "%systemdrive%\office19.log"
type "%systemdrive%\isact.log"
cd "%systemdrive%\"
FIND /c /i "No installed product keys detected" "%systemdrive%\isact.log" >nul
if %ERRORLEVEL% EQU 0 (
ECHO Fixing No installed product keys detected >>"%systemdrive%\office19.log"
cscript %OfficePath%ospp.vbs /inpkey:XJ2XN-FW8RK-P4HMP-DKDBV-GCVGB >>"%systemdrive%\office19.log"
cscript %OfficePath%ospp.vbs /act >>"%systemdrive%\isact.log"
ECHO No installed product keys detected problem fixed
)
cscript %OfficePath%ospp.vbs /dstatus >>"%systemdrive%\office19.log"
goto isact

:msg
ECHO ===NoOffice=== >>"%systemdrive%\office19.log"
cd "%systemdrive%\"
ren office19.log office19rpt.pdf
ECHO   　您可能尚未安裝Office 2024 Pro Plus 
ECHO     (請至設定→「已安裝的應用程式」查看)
ECHO.
ECHO   　如您已安裝Office 2024 Pro Plus，請參考下列網址進行手動啟用：
ECHO   　"https://support.video.nccu.edu.tw/faq/260"
ECHO.
start "" "https://support.video.nccu.edu.tw/faq/260"
ECHO.
ECHO 本程式即將關閉
pause
exit

:cnct
ECHO ===IP issue=== >>"%systemdrive%\office19.log"
netstat -n -p tcp >>"%systemdrive%\office19.log"
cd "%systemdrive%\"
ren office19.log office19rpt.pdf
exit

:isact
ipconfig >>"%systemdrive%\office19.log"
cd "%systemdrive%\"
ren office19.log office19rpt.pdf
ECHO.
ECHO 啟用結果：
FIND /c /i "Product activation successful" "%systemdrive%\isact.log" >nul
if ERRORLEVEL 1 (
DEL /Q "%systemdrive%\isact.log"
ECHO.
ECHO   《Office 2024啟用失敗》
ECHO.
ECHO 　啟用過程中出現錯誤訊息(分隔線上方），請記下ERROR CODE，查看常見問題：
ECHO　　"https://support.video.nccu.edu.tw/media/72#doc-tabs-faq"
start "" "https://support.video.nccu.edu.tw/faq/376#faq376"
ECHO.
ECHO   或至線上服務台提問，並上傳桌面上的office19rpt.pdf檔案作為附件。
START %systemdrive%
ECHO   (office19rpt.pdf無法開啟為正常現象）
START %systemdrive%
ECHO.
pause
exit
) else (
DEL /Q "%systemdrive%\isact.log"
ECHO.
ECHO   《Office 2024啟用成功》
ECHO.
pause
exit
)

:EOF
EXIT /B 1