Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Windows/MAS/Separate-Files-Version/Check-Activation-Status-vbs.cmd
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
233 lines (217 sloc)
7.54 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@setlocal DisableDelayedExpansion | |
@echo off | |
@cls | |
:: Check-Activation-Status-vbs.cmd | |
:: Written by @abbodi1406 | |
:: forums.mydigitallife.net/posts/838808 | |
set _args= | |
set _args=%* | |
for %%A in (%_args%) do ( | |
if /i "%%A"=="-wow" set _rel1=1 | |
if /i "%%A"=="-arm" set _rel2=1 | |
) | |
set "_cmdf=%~f0" | |
if exist "%SystemRoot%\Sysnative\cmd.exe" if not defined _rel1 ( | |
setlocal EnableDelayedExpansion | |
start %SystemRoot%\Sysnative\cmd.exe /c ""!_cmdf!" -wow" | |
exit /b | |
) | |
if exist "%SystemRoot%\SysArm32\cmd.exe" if /i %PROCESSOR_ARCHITECTURE%==AMD64 if not defined _rel2 ( | |
setlocal EnableDelayedExpansion | |
start %SystemRoot%\SysArm32\cmd.exe /c ""!_cmdf!" -arm" | |
exit /b | |
) | |
color 07 | |
title Check Activation Status [vbs] | |
set "SysPath=%SystemRoot%\System32" | |
set "Path=%SystemRoot%\System32;%SystemRoot%\System32\Wbem;%SystemRoot%\System32\WindowsPowerShell\v1.0\" | |
if exist "%SystemRoot%\Sysnative\reg.exe" ( | |
set "SysPath=%SystemRoot%\Sysnative" | |
set "Path=%SystemRoot%\Sysnative;%SystemRoot%\Sysnative\Wbem;%SystemRoot%\Sysnative\WindowsPowerShell\v1.0\;%Path%" | |
) | |
:: Check LF line ending | |
pushd "%~dp0" | |
>nul findstr /rxc:".*" "%~nx0" | |
if not %errorlevel%==0 ( | |
echo: | |
echo Error: Script either has LF line ending issue, or it failed to read itself. | |
echo: | |
ping 127.0.0.1 -n 6 > nul | |
popd | |
exit /b | |
) | |
popd | |
set "_bit=64" | |
set "_wow=1" | |
if /i "%PROCESSOR_ARCHITECTURE%"=="x86" if "%PROCESSOR_ARCHITEW6432%"=="" set "_wow=0"&set "_bit=32" | |
set "_utemp=%TEMP%" | |
set "line2=************************************************************" | |
set "line3=____________________________________________________________" | |
set _sO16vbs=0 | |
set _sO15vbs=0 | |
if exist "%ProgramFiles%\Microsoft Office\Office15\ospp.vbs" ( | |
set _sO15vbs=1 | |
) else if exist "%ProgramW6432%\Microsoft Office\Office15\ospp.vbs" ( | |
set _sO15vbs=1 | |
) else if exist "%ProgramFiles(x86)%\Microsoft Office\Office15\ospp.vbs" ( | |
set _sO15vbs=1 | |
) | |
setlocal EnableDelayedExpansion | |
echo %line2% | |
echo *** Windows Status *** | |
echo %line2% | |
pushd "!_utemp!" | |
copy /y %SystemRoot%\System32\slmgr.vbs . >nul 2>&1 | |
net start sppsvc /y >nul 2>&1 | |
cscript //nologo slmgr.vbs /dli || (echo Error executing slmgr.vbs&del /f /q slmgr.vbs&popd&goto :casVend) | |
cscript //nologo slmgr.vbs /xpr | |
del /f /q slmgr.vbs >nul 2>&1 | |
popd | |
echo %line3% | |
:casVo16 | |
set office= | |
for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\16.0\Common\InstallRoot /v Path" 2^>nul') do (set "office=%%b") | |
if exist "!office!\ospp.vbs" ( | |
set _sO16vbs=1 | |
echo. | |
echo %line2% | |
if %_sO15vbs% EQU 0 ( | |
echo *** Office 2016 %_bit%-bit Status *** | |
) else ( | |
echo *** Office 2013/2016 Status *** | |
) | |
echo %line2% | |
cscript //nologo "!office!\ospp.vbs" /dstatus | |
) | |
if %_wow%==0 goto :casVo13 | |
set office= | |
for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\16.0\Common\InstallRoot /v Path" 2^>nul') do (set "office=%%b") | |
if exist "!office!\ospp.vbs" ( | |
set _sO16vbs=1 | |
echo. | |
echo %line2% | |
if %_sO15vbs% EQU 0 ( | |
echo *** Office 2016 32-bit Status *** | |
) else ( | |
echo *** Office 2013/2016 Status *** | |
) | |
echo %line2% | |
cscript //nologo "!office!\ospp.vbs" /dstatus | |
) | |
:casVo13 | |
if %_sO16vbs% EQU 1 goto :casVo10 | |
set office= | |
for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\15.0\Common\InstallRoot /v Path" 2^>nul') do (set "office=%%b") | |
if exist "!office!\ospp.vbs" ( | |
echo. | |
echo %line2% | |
echo *** Office 2013 %_bit%-bit Status *** | |
echo %line2% | |
cscript //nologo "!office!\ospp.vbs" /dstatus | |
) | |
if %_wow%==0 goto :casVo10 | |
set office= | |
for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\Common\InstallRoot /v Path" 2^>nul') do (set "office=%%b") | |
if exist "!office!\ospp.vbs" ( | |
echo. | |
echo %line2% | |
echo *** Office 2013 32-bit Status *** | |
echo %line2% | |
cscript //nologo "!office!\ospp.vbs" /dstatus | |
) | |
:casVo10 | |
set office= | |
for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\14.0\Common\InstallRoot /v Path" 2^>nul') do (set "office=%%b") | |
if exist "!office!\ospp.vbs" ( | |
echo. | |
echo %line2% | |
echo *** Office 2010 %_bit%-bit Status *** | |
echo %line2% | |
cscript //nologo "!office!\ospp.vbs" /dstatus | |
) | |
if %_wow%==0 goto :casVc16 | |
set office= | |
for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\14.0\Common\InstallRoot /v Path" 2^>nul') do (set "office=%%b") | |
if exist "!office!\ospp.vbs" ( | |
echo. | |
echo %line2% | |
echo *** Office 2010 32-bit Status *** | |
echo %line2% | |
cscript //nologo "!office!\ospp.vbs" /dstatus | |
) | |
:casVc16 | |
reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath >nul 2>&1 || ( | |
reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun /v InstallPath >nul 2>&1 || goto :casVc13 | |
) | |
set office= | |
for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath" 2^>nul') do (set "office=%%b\Office16") | |
if exist "!office!\ospp.vbs" ( | |
set _sO16vbs=1 | |
echo. | |
echo %line2% | |
if %_sO15vbs% EQU 0 ( | |
echo *** Office 2016-2021 C2R Status *** | |
) else ( | |
echo *** Office 2013-2021 Status *** | |
) | |
echo %line2% | |
cscript //nologo "!office!\ospp.vbs" /dstatus | |
) | |
if %_wow%==0 goto :casVc13 | |
set office= | |
for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun /v InstallPath" 2^>nul') do (set "office=%%b\Office16") | |
if exist "!office!\ospp.vbs" ( | |
set _sO16vbs=1 | |
echo. | |
echo %line2% | |
if %_sO15vbs% EQU 0 ( | |
echo *** Office 2016-2021 C2R Status *** | |
) else ( | |
echo *** Office 2013-2021 Status *** | |
) | |
echo %line2% | |
cscript //nologo "!office!\ospp.vbs" /dstatus | |
) | |
:casVc13 | |
if %_sO16vbs% EQU 1 goto :casVc10 | |
reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun /v InstallPath >nul 2>&1 || ( | |
reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\15.0\ClickToRun /v InstallPath >nul 2>&1 || goto :casVc10 | |
) | |
set office= | |
if exist "%ProgramFiles%\Microsoft Office\Office15\ospp.vbs" ( | |
set "office=%ProgramFiles%\Microsoft Office\Office15" | |
) else if exist "%ProgramW6432%\Microsoft Office\Office15\ospp.vbs" ( | |
set "office=%ProgramW6432%\Microsoft Office\Office15" | |
) else if exist "%ProgramFiles(x86)%\Microsoft Office\Office15\ospp.vbs" ( | |
set "office=%ProgramFiles(x86)%\Microsoft Office\Office15" | |
) | |
if exist "!office!\ospp.vbs" ( | |
echo. | |
echo %line2% | |
echo *** Office 2013 C2R Status *** | |
echo %line2% | |
cscript //nologo "!office!\ospp.vbs" /dstatus | |
) | |
:casVc10 | |
if %_wow%==0 reg query HKLM\SOFTWARE\Microsoft\Office\14.0\CVH /f Click2run /k >nul 2>&1 || goto :casVend | |
if %_wow%==1 reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\14.0\CVH /f Click2run /k >nul 2>&1 || goto :casVend | |
set office= | |
if exist "%ProgramFiles%\Microsoft Office\Office14\ospp.vbs" ( | |
set "office=%ProgramFiles%\Microsoft Office\Office14" | |
) else if exist "%ProgramW6432%\Microsoft Office\Office14\ospp.vbs" ( | |
set "office=%ProgramW6432%\Microsoft Office\Office14" | |
) else if exist "%ProgramFiles(x86)%\Microsoft Office\Office14\ospp.vbs" ( | |
set "office=%ProgramFiles(x86)%\Microsoft Office\Office14" | |
) | |
if exist "!office!\ospp.vbs" ( | |
echo. | |
echo %line2% | |
echo *** Office 2010 C2R Status *** | |
echo %line2% | |
cscript //nologo "!office!\ospp.vbs" /dstatus | |
) | |
:casVend | |
echo. | |
echo Press any key to exit. | |
pause >nul | |
exit /b |