收藏了 |
2012myjoys 发表于 2024-2-22 13:41 配置太高端,乞丐没玩儿过。 |
dos时代菜鸟 发表于 2024-2-21 20:24 微软原版Windows11专业版 微软官网下载的office2021 |
2012myjoys 发表于 2024-2-21 19:10 windows 是啥新系统?xp win7 win8 win10 office 是精简版,还是完整版。 哎,其实搞这个也没多大用处。 要激活,各种脚本多的是。 |
dos时代菜鸟 发表于 2024-2-21 09:29 office2021 正常安装的 |
2012myjoys 发表于 2024-2-20 18:47 啥系统?咋安装的 office ? office 啥版本? 啥也不说,没得玩儿。 |
dos时代菜鸟 发表于 2024-2-15 19:42 奇怪,用你的附件也是检查不出来 |
没有发现office版本号
实际是2021 |
享β亻寸木东 发表于 2024-2-18 11:08 激活之后自动绑定到微软账户上,没必要刻意提取 |
本帖最后由 dos时代菜鸟 于 2024-2-15 20:03 编辑 如果是 64为系统 安装了 32位的office 注册表位置就会不一样了。HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office 了解下 |
谢谢分享~批处理还是很强大的存在啊~ |
@echo off ::CMD窗口字体绿色 title %~n0 color 0a setlocal EnableDelayedExpansion set "m_Office版本号=" set "m_Office系统位数=" set "m_Office安装目录=" set "m_Office系统位数=64" call :扫描注册表一级子目录并回调 "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office" ":检查激活Office" set "m_Office系统位数=32" call :扫描注册表一级子目录并回调 "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office" ":检查激活Office" echo. pause goto :eof ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :检查激活Office set "m_Office版本号=" set "m_Office安装目录=" set "m_ospp文件目录=" call :查询注册表一个数值 "m_Office安装目录" "%~1\Common\InstallRoot" "Path" if "" EQU "!m_Office安装目录!" call :查询注册表一个数值 "m_Office安装目录" "%~1\Excel\InstallRoot" "Path" if "" EQU "!m_Office安装目录!" call :查询注册表一个数值 "m_Office安装目录" "%~1\Word\InstallRoot" "Path" if "" NEQ "!m_Office安装目录!" if exist "!m_Office安装目录!" ( for %%a in ( "%~1" ) do set "m_Office版本号=%%~na" if "\" EQU "!m_Office安装目录:~-1!" set "m_Office安装目录=!m_Office安装目录:~0,-1!" set "m_ospp文件目录=!m_Office安装目录!" cd /d "!m_Office安装目录!" if not exist "!m_Office安装目录!\ospp.vbs" ( set "m_ospp文件目录=" cd /d "..\..\Office!m_Office版本号!" if exist "ospp.vbs" for /f "delims=*" %%a in ( 'cd' ) do set "m_ospp文件目录=%%a" ) echo. echo -------------------------------------------------------- echo 准备激活:!m_Office系统位数!位 Office 20!m_Office版本号! echo 系统位数:!m_Office系统位数! echo 安装版本:!m_Office版本号! echo 安装路径:!m_Office安装目录! echo ospp文件目录:!m_ospp文件目录! if not exist "!m_ospp文件目录!\ospp.vbs" ( echo 无法找到激活文件:ospp.vbs 在目录:!m_ospp文件目录! echo 激活失败! goto :eof ) if "16" EQU "!m_Office版本号!" ( call :安装2016证书 call :安装2019证书 call :安装2021证书 )>nul 2>nul if "19" EQU "!m_Office版本号!" ( call :安装2019证书 )>nul 2>nul if "21" EQU "!m_Office版本号!" ( call :安装2021证书 )>nul 2>nul call :设置KMS服务器并激活 ) goto :eof ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :扫描注册表一级子目录并回调 rem :扫描注册表一级子目录并回调 "in" "in" rem :参数列表 注册表路径 回调标签 ( Reg Query "%~1" )>nul 2>nul || ( goto :eof ) rem if 0 NEQ %errorlevel% ( rem goto :eof rem ) if "" EQU "%~2" for /f "delims=*" %%a in ( 'Reg Query "%~1" ' ) do if "" NEQ "%%a" call :扫描注册表一级子目录并回调_001 "%%a" "%~1" if "" NEQ "%~2" for /f "delims=*" %%a in ( 'Reg Query "%~1" ' ) do if "" NEQ "%%a" call :扫描注册表一级子目录并回调_002 "%%a" "%~1" "%~2" goto :eof :扫描注册表一级子目录并回调_001 echo x%~1 | findstr /i "%~2" >nul 2>nul && echo %~1 goto :eof :扫描注册表一级子目录并回调_002 echo x%~1 | findstr /i "%~2" >nul 2>nul && call %~3 "%~1" goto :eof ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :查询注册表一个数值 rem :查询注册表一个数值 "inout_ptr" "in" "in" rem :参数列表 输出的数值变量名 注册表路径 [注册表数值名,如果空则查询默认值] ( Reg Query "%~2" )>nul 2>nul || ( goto :eof ) if "" NEQ "%~1" set "%~1=" if "" NEQ "%~3" ( for /f "delims=*" %%a in ( 'Reg Query "%~2" /v "%~3" ' ) do if "" NEQ "%%a" if "" NEQ "%~1" ( set "查询注册表一个数值_临时变量=%%a" set "查询注册表一个数值_临时变量=!查询注册表一个数值_临时变量: %~3 =!" for /f "tokens=1,* delims= " %%b in ( "!查询注册表一个数值_临时变量!" ) do set "查询注册表一个数值_输出数值=%%c" set "%~1=!查询注册表一个数值_输出数值!" ) goto :eof )>nul 2>nul for /f "delims=*" %%a in ( 'Reg Query "%~2" /ve ' ) do if "" NEQ "%%a" if "" NEQ "%~1" ( set "查询注册表一个数值_临时变量=%%a" set "查询注册表一个数值_临时变量=!查询注册表一个数值_临时变量: %~3 =!" for /f "tokens=1,* delims= " %%b in ( "!查询注册表一个数值_临时变量!" ) do set "查询注册表一个数值_输出数值=%%c" set "%~1=!查询注册表一个数值_输出数值!" )>nul 2>nul goto :eof ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: |
iyg429 发表于 2024-2-14 15:27 一般来说只要联网激活了就不能7天无理由 |
htmlc4 发表于 2024-2-14 04:19 假如说 别人买了我的笔记本 是全新未激活的 别人进到里面用自己的账号绑定office 然后再回复出厂设置 然后告诉我说 笔记本7天无条件退货 我岂不是无法防止? |
赞,谢谢分享。 |
这个批处理有严重缺陷,不支持检测C2R版本的office,2016版是最后一版有msi版本的office,之后的office都是C2R版本的 |
iyg429 发表于 2024-2-13 14:32 预装的office激活是绑定到微软账号上的,而不是绑定到主板 |
窄口牛 发表于 2024-2-13 09:18 严格来说应该是不支持C2R版本,2016版是最后一版有msi版本的office,之后的office,无论是买断制的2019、2021,抑或是订阅制的365,都只有C2R版本 |
感谢分享! |
感谢分享 |
谢谢分享 |
本帖最后由 窄口牛 于 2024-2-13 10:02 编辑 |
很实用的代码,谢谢分享 |
七仙花 发表于 2024-2-12 16:28 放心吧, 绝不是你的问题,,我也发现了,http://bbs.wuyou.net/forum.php?m ... p;page=2#pid5129985 ceshi后边少了\ |
感谢分享! |
谢谢分享 |
谢谢分享,新年快乐! |
Powered by Discuz! X3.3
© 2001-2017 Comsenz Inc.