本帖最后由 missll 于 2012-11-16 17:23 编辑
我想在用户权限下获取Microsoft Office版本
是读取注册表键值 HKEY_CURRENT_USER\Software\Microsoft\Office\12.0 位置, 12是office 007
代码一下 :- @echo off
- set office=HKEY_CURRENT_USER\Software\Microsoft\Office
- (reg query %office% | find "11.0" || reg query %office% | find "12.0" || reg query %office% | find "14.0")>%TEMP%\6c70ef5709acfbb79de47c27863d64eb
- for /f %%a in ('type %TEMP%\6c70ef5709acfbb79de47c27863d64eb') do (
- set ofver=%%a
- echo %ofver:~-4%)
复制代码 执行结果:- Microsoft Windows [版本 5.2.3790]
- (C) 版权所有 1985-2003 Microsoft Corp.
- C:\Documents and Settings\Administrator>e:\1.bat
- ~-4
- C:\Documents and Settings\Administrator>e:\1.bat
- 12.0
- C:\Documents and Settings\Administrator>
复制代码 从以上结果可以看出 第一次执行的时候 %ofver:~-4% 获取值是错误的,第2次执行显示了正确的键值 但是我不明白这是为什么 ?
测试环境 win2k3 r2
我感觉写的很罗嗦 或者谁能给出更简单的代码呢? |