1
+ @ setlocal DisableDelayedExpansion
2
+ @ echo off
3
+ @ cls
4
+
5
+
6
+
7
+ :: Check-Activation-Status-vbs.cmd
8
+ :: Written by @abbodi1406
9
+ :: forums.mydigitallife.net/posts/838808
10
+
11
+
12
+
13
+ set " _cmdf = %~f0 "
14
+ if exist " %SystemRoot% \Sysnative\cmd.exe" (
15
+ setlocal EnableDelayedExpansion
16
+ start %SystemRoot% \Sysnative\cmd.exe /c " " !_cmdf! " "
17
+ exit /b
18
+ )
19
+ if exist " %SystemRoot% \SysArm32\cmd.exe" if /i %PROCESSOR_ARCHITECTURE% == AMD64 (
20
+ setlocal EnableDelayedExpansion
21
+ start %SystemRoot% \SysArm32\cmd.exe /c " " !_cmdf! " "
22
+ exit /b
23
+ )
24
+ color 07
25
+ title Check Activation Status [vbs]
26
+ set " SysPath = %SystemRoot% \System32"
27
+ if exist " %SystemRoot% \Sysnative\reg.exe" (set " SysPath=%SystemRoot% \Sysnative" )
28
+ set " Path = %SysPath% ;%SystemRoot% ;%SysPath% \Wbem;%SysPath% \WindowsPowerShell\v1.0\"
29
+ set " _bit = 64"
30
+ set " _wow = 1"
31
+ if /i " %PROCESSOR_ARCHITECTURE% " == " x86" if " %PROCESSOR_ARCHITEW6432% " == " " set " _wow = 0" & set " _bit=32"
32
+ set " _utemp = %TEMP% "
33
+ set " line2 = ************************************************************"
34
+ set " line3 = ____________________________________________________________"
35
+ set _sO16vbs = 0
36
+ set _sO15vbs = 0
37
+ if exist " %ProgramFiles% \Microsoft Office\Office15\ospp.vbs" (
38
+ set _sO15vbs = 1
39
+ ) else if exist " %ProgramW6432% \Microsoft Office\Office15\ospp.vbs" (
40
+ set _sO15vbs = 1
41
+ ) else if exist " %ProgramFiles(x86)% \Microsoft Office\Office15\ospp.vbs" (
42
+ set _sO15vbs = 1
43
+ )
44
+ setlocal EnableDelayedExpansion
45
+ echo %line2%
46
+ echo *** Windows Status ***
47
+ echo %line2%
48
+ pushd " !_utemp! "
49
+ copy /y %SystemRoot% \System32\slmgr.vbs . > nul 2 >& 1
50
+ net start sppsvc /y > nul 2 >& 1
51
+ cscript //nologo slmgr.vbs /dli || (echo Error executing slmgr.vbs& del /f /q slmgr.vbs& popd& goto :casVend)
52
+ cscript //nologo slmgr.vbs /xpr
53
+ del /f /q slmgr.vbs > nul 2 >& 1
54
+ popd
55
+ echo %line3%
56
+
57
+ :casVo16
58
+ set office =
59
+ 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 " )
60
+ if exist " !office! \ospp.vbs" (
61
+ set _sO16vbs = 1
62
+ echo .
63
+ echo %line2%
64
+ if %_sO15vbs% EQU 0 (
65
+ echo *** Office 2016 %_bit% -bit Status ***
66
+ ) else (
67
+ echo *** Office 2013/2016 Status ***
68
+ )
69
+ echo %line2%
70
+ cscript //nologo " !office! \ospp.vbs" /dstatus
71
+ )
72
+ if %_wow% == 0 goto :casVo13
73
+ set office =
74
+ 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 " )
75
+ if exist " !office! \ospp.vbs" (
76
+ set _sO16vbs = 1
77
+ echo .
78
+ echo %line2%
79
+ if %_sO15vbs% EQU 0 (
80
+ echo *** Office 2016 32-bit Status ***
81
+ ) else (
82
+ echo *** Office 2013/2016 Status ***
83
+ )
84
+ echo %line2%
85
+ cscript //nologo " !office! \ospp.vbs" /dstatus
86
+ )
87
+
88
+ :casVo13
89
+ if %_sO16vbs% EQU 1 goto :casVo10
90
+ set office =
91
+ 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 " )
92
+ if exist " !office! \ospp.vbs" (
93
+ echo .
94
+ echo %line2%
95
+ echo *** Office 2013 %_bit% -bit Status ***
96
+ echo %line2%
97
+ cscript //nologo " !office! \ospp.vbs" /dstatus
98
+ )
99
+ if %_wow% == 0 goto :casVo10
100
+ set office =
101
+ 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 " )
102
+ if exist " !office! \ospp.vbs" (
103
+ echo .
104
+ echo %line2%
105
+ echo *** Office 2013 32-bit Status ***
106
+ echo %line2%
107
+ cscript //nologo " !office! \ospp.vbs" /dstatus
108
+ )
109
+
110
+ :casVo10
111
+ set office =
112
+ 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 " )
113
+ if exist " !office! \ospp.vbs" (
114
+ echo .
115
+ echo %line2%
116
+ echo *** Office 2010 %_bit% -bit Status ***
117
+ echo %line2%
118
+ cscript //nologo " !office! \ospp.vbs" /dstatus
119
+ )
120
+ if %_wow% == 0 goto :casVc16
121
+ set office =
122
+ 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 " )
123
+ if exist " !office! \ospp.vbs" (
124
+ echo .
125
+ echo %line2%
126
+ echo *** Office 2010 32-bit Status ***
127
+ echo %line2%
128
+ cscript //nologo " !office! \ospp.vbs" /dstatus
129
+ )
130
+
131
+ :casVc16
132
+ reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath > nul 2 >& 1 || (
133
+ reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun /v InstallPath > nul 2 >& 1 || goto :casVc13
134
+ )
135
+ set office =
136
+ for /f " skip=2 tokens=2*" %%a in ('" reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath" 2^ > nul ') do (set " office=%%b \Office16" )
137
+ if exist " !office! \ospp.vbs" (
138
+ set _sO16vbs = 1
139
+ echo .
140
+ echo %line2%
141
+ if %_sO15vbs% EQU 0 (
142
+ echo *** Office 2016-2021 C2R Status ***
143
+ ) else (
144
+ echo *** Office 2013-2021 Status ***
145
+ )
146
+ echo %line2%
147
+ cscript //nologo " !office! \ospp.vbs" /dstatus
148
+ )
149
+ if %_wow% == 0 goto :casVc13
150
+ set office =
151
+ 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" )
152
+ if exist " !office! \ospp.vbs" (
153
+ set _sO16vbs = 1
154
+ echo .
155
+ echo %line2%
156
+ if %_sO15vbs% EQU 0 (
157
+ echo *** Office 2016-2021 C2R Status ***
158
+ ) else (
159
+ echo *** Office 2013-2021 Status ***
160
+ )
161
+ echo %line2%
162
+ cscript //nologo " !office! \ospp.vbs" /dstatus
163
+ )
164
+
165
+ :casVc13
166
+ if %_sO16vbs% EQU 1 goto :casVc10
167
+ reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun /v InstallPath > nul 2 >& 1 || (
168
+ reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\15.0\ClickToRun /v InstallPath > nul 2 >& 1 || goto :casVc10
169
+ )
170
+ set office =
171
+ if exist " %ProgramFiles% \Microsoft Office\Office15\ospp.vbs" (
172
+ set " office = %ProgramFiles% \Microsoft Office\Office15"
173
+ ) else if exist " %ProgramW6432% \Microsoft Office\Office15\ospp.vbs" (
174
+ set " office = %ProgramW6432% \Microsoft Office\Office15"
175
+ ) else if exist " %ProgramFiles(x86)% \Microsoft Office\Office15\ospp.vbs" (
176
+ set " office = %ProgramFiles(x86)% \Microsoft Office\Office15"
177
+ )
178
+ if exist " !office! \ospp.vbs" (
179
+ echo .
180
+ echo %line2%
181
+ echo *** Office 2013 C2R Status ***
182
+ echo %line2%
183
+ cscript //nologo " !office! \ospp.vbs" /dstatus
184
+ )
185
+
186
+ :casVc10
187
+ if %_wow% == 0 reg query HKLM\SOFTWARE\Microsoft\Office\14.0\CVH /f Click2run /k > nul 2 >& 1 || goto :casVend
188
+ if %_wow% == 1 reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\14.0\CVH /f Click2run /k > nul 2 >& 1 || goto :casVend
189
+ set office =
190
+ if exist " %ProgramFiles% \Microsoft Office\Office14\ospp.vbs" (
191
+ set " office = %ProgramFiles% \Microsoft Office\Office14"
192
+ ) else if exist " %ProgramW6432% \Microsoft Office\Office14\ospp.vbs" (
193
+ set " office = %ProgramW6432% \Microsoft Office\Office14"
194
+ ) else if exist " %ProgramFiles(x86)% \Microsoft Office\Office14\ospp.vbs" (
195
+ set " office = %ProgramFiles(x86)% \Microsoft Office\Office14"
196
+ )
197
+ if exist " !office! \ospp.vbs" (
198
+ echo .
199
+ echo %line2%
200
+ echo *** Office 2010 C2R Status ***
201
+ echo %line2%
202
+ cscript //nologo " !office! \ospp.vbs" /dstatus
203
+ )
204
+
205
+ :casVend
206
+ echo .
207
+ echo Press any key to exit.
208
+ pause > nul
209
+ exit /b
0 commit comments