[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
标准安装下有效,纯净版无效,CMD原环境下命令行,支持NT5.2以上所有系统未精简版系统
  1. Wmic Path Win32_Product Where 'Name like "Microsoft Office%"' get InstallLocation,Version /format:list
复制代码
1

评分人数

这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

本帖最后由 aries215 于 2017-2-25 18:19 编辑

回复 10# GNU
很有道理,尽量要按照帮助手册来使用。
谢谢!

TOP

回复 9# aries215


>nul 屏蔽标准输出信息
2>nul 屏蔽标准出错信息
至于怎么用,要不要一起用,主要看你自己的需求。

TOP

回复 8# aries215


参数出现的顺序通常在帮助手册里面都有说明。

C:\>reg query /?

REG QUERY KeyName [/v [ValueName] | /ve]
          [/f Data [/k] [/d] [/c] [/e]] [/t Type] [/z] [/se Separator]

有的命令的参数放在什么位置都无所谓,但是有些命令参数必须按照某个顺序。
记不清楚的话,就严格按照帮助手册的来。

TOP

回复 4# aries215
>nul 和 2>nul 需要叠加才完美吗?
单用 2>nul 能不能彻底屏蔽信息?

TOP

回复 6# GNU
这样演示很清楚,原来此命令要放在最后,怪不得我总出错。
你懂得很多,也好热心啊!谢谢!

TOP

Office16以后还会有新版本,我就是觉得限定为12~16不够,否则还不如手工指定省事。

你自己把 16 改大点呗

TOP

回复 3# aries215


C:\>reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office /v bathome.net /d test
操作成功完成。

C:\>reg query HKLM\SOFTWARE\Microsoft\Office /f "."

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office
    bathome.net    REG_SZ    test

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\8.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\9.0
搜索结束: 找到 6 匹配。

C:\>reg query HKLM\SOFTWARE\Microsoft\Office /f "." /k

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\8.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\9.0
搜索结束: 找到 5 匹配。
1

评分人数

TOP

回复 4# aries215


比如电脑上没有16.0这个版本的注册表键值,不使用 2>nul 的话会出现一个报错信息。
错误: 系统找不到指定的注册表项或值。

TOP

本帖最后由 aries215 于 2017-2-25 14:07 编辑

请问,2>nul 有什么作用?没看到差别哦

另外,在旧版Office基础上安装,印象中是删除旧版再安装吧?

TOP

本帖最后由 aries215 于 2017-2-27 15:54 编辑

回复 2# GNU
谢谢回复!运算量确实很小 :-)

Office16以后还会有新版本,我就是觉得限定为12~16不够,否则还不如手工指定省事。

我发现这样可以直接查询含版本号的注册表键:
  1. @echo off
  2. SetLocal EnableDelayedExpansion
  3. for /f "delims=\ tokens=5,*" %%a in ('reg query HKLM\SOFTWARE\Microsoft\Office /f "." 2^>nul') do (
  4.     set "_ver=%%~a"
  5.     echo !_ver!
  6. )
  7. pause
复制代码
还有,/k 指定只在项名称中搜索,怎么用?

TOP

  1. @echo off
  2. for /l %%i in (16 -1 12) do (
  3.     reg query  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\%%i.0\Common\InstallRoot 2>nul
  4. )
  5. pause
复制代码

TOP

返回列表