Board logo

标题: [文本处理] 批处理如何获取ms office的安装目录/路径? [打印本页]

作者: 渣白    时间: 2017-3-28 13:00     标题: 批处理如何获取ms office的安装目录/路径?

不确定对方的office装在什么盘,怎么查看相关信息
这是自己琢磨的部分代码。。
  1. if exist "%ProgramFiles%\Microsoft Office\Office16\ospp.vbs" cd /d "%ProgramFiles%\Microsoft Office\Office16"
  2. if exist "%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs" cd /d "%ProgramFiles(x86)%\Microsoft Office\Office16"
  3. cscript "ospp.vbs" /dstatus
复制代码
如果在D、E、F、G盘呢? 用||符号连接起来吗?麻烦写下代码,谢谢
作者: Nsqs    时间: 2017-3-28 13:15

本帖最后由 Nsqs 于 2017-3-28 15:30 编辑
  1. @echo off
  2. for /f "tokens=2 delims==" %%1 in ('assoc .doc')do (
  3.     for /f "tokens=2 delims==" %%2 in ('ftype %%1')do (
  4.         for %%3 in (%%2)do (if not defined p set p=%%~dp3
  5.         )
  6.     )
  7. )
  8. echo %p%
  9. pause
复制代码

作者: pcl_test    时间: 2017-3-28 16:01

回复 2# Nsqs

有可能关联的是WPS
作者: Nsqs    时间: 2017-3-28 16:17

回复 3# pcl_test


    我这边随便一个office的后缀都可以获取到安装路径
作者: WHY    时间: 2017-3-28 16:46

  1. gwmi Win32_Product -Filter "Name like 'Microsoft Office Professional%'" | %{ $_.InstallLocation }
复制代码

作者: pcl_test    时间: 2017-3-28 17:00

回复 4# Nsqs


有些人会同时装有ms和wps办公软件,并把doc、xls、ppt默认打开程序关联到wps,早期还有不少人同时安装ms office 2003和2007或2010几个版本
作者: 渣白    时间: 2017-3-28 19:32     标题: office激活密钥如何用批处理命令输入

B6HMQ-R2NK8-4GBVT-JHPFR-HQW92

除了打开office外
我目前知道的只有这个
cscript "C:\Program Files\Microsoft Office\Office16\ospp.vbs" /inpkey:B6HMQ-R2NK8-4GBVT-JHPFR-HQW92
这个是在C盘的


如果我不知道在那个盘呢?我又不想去查哪个盘。。。如何解决?
给个例子,口语化难理解
作者: 老刘1号    时间: 2017-3-28 22:31

WPS+MS2010路过
作者: ShowCode    时间: 2017-3-29 14:45

  1. @echo off
  2. powershell -c "gwmi Win32_Product -Filter """Name like 'Microsoft Office Professional%%'""" | %%{ $_.InstallLocation }"
  3. pause
复制代码
试试这样能否获取到安装路径
作者: 渣白    时间: 2017-3-31 15:54

回复 5# WHY


    'gwmi' 不是内部或外部命令
作者: 渣白    时间: 2017-3-31 15:56

怎么用命令输入office安装密钥
作者: 渣白    时间: 2017-4-1 09:56

回复 9# ShowCode


    不可以
。。
作者: 渣白    时间: 2017-4-1 10:06

回复 2# Nsqs


    找到了并显示出来了。但是我想用,
for /f "tokens=2 delims==" %%1 in ('assoc .doc')do (
    for /f "tokens=2 delims==" %%2 in ('ftype %%1')do (
        for %%3 in (%%2)do (if not defined p set p=%%~dp3
        )
    )
)
echo %p%
%p% | ospp.vbs" /dstatus  ?
这样吗?。。。。好像不行

就是 C:\Program Files\Microsoft Office\Office16\ospp.vbs" /dstatus
%p% 输出 的是 C:\Program Files\Microsoft Office\Office16\
我想用这个找到的后面加个 ospp.vbs" /dstatus
作者: ShowCode    时间: 2017-4-1 10:14

回复 13# 渣白


"%p%ospp.vbs" /dstatus
作者: 渣白    时间: 2017-4-3 14:15

回复 14# ShowCode


    出现了这个

输入错误: 无法找到脚本文件“C:\Program Files\Microsoft Office\root\Office16\ospp.vbs”。
作者: ShowCode    时间: 2017-4-3 17:01

回复 15# 渣白


    root从哪里冒出来的?你不是说%p%能获取到正确的路径吗
作者: 渣白    时间: 2017-4-4 11:29

回复 16# ShowCode


    不知道啊,出现这种情况可以删除\root这一行?
作者: pcl_test    时间: 2017-4-4 11:48

  1. @echo off
  2. for /f "delims=" %%a in ('mshta VBScript:Execute("Set objExcel=CreateObject(""Excel.Application""):CreateObject(""Scripting.Filesystemobject"").GetStandardStream(1).Write(objExcel.Path):objExcel.quit"^)(close^)') do set "f=%%a\ospp.vbs"
  3. if exist "%f%" (echo;%f%) else echo;not found
  4. pause
复制代码

作者: 渣白    时间: 2017-4-4 12:42

for /f "delims=" %%a in ('mshta VBScript:Execute("Set objExcel=CreateObject(""Excel.Application""):CreateObject(""Scripting.Filesystemobject"").GetStandardStream(1).Write(objExcel.Path)bjExcel.quit"^)(close^)') do set "f=%%a\ospp.vbs"
if exist "%f%" (cscript "%f%" /inpkey:4GNGT-36JVQ-CVB6C-C3PMR-2KCX2 >nul) else echo;没有找到office安装目录,按任意键退出&&pause >nul&&goto exit


我加入了这些出现了这个
作者: 渣白    时间: 2017-4-4 14:40

本帖最后由 渣白 于 2017-4-4 14:43 编辑

回复 18# pcl_test


    出现了错误。。弹出了一个框

这个框也没什么,怎么让他不显示
作者: WHY    时间: 2017-4-4 18:34

http://www.bathome.net/thread-43311-1-6.html
渣白,这个帖子你怎么看?

渣白,你问了这么多个问题,你也该学会搜索了吧,版规你看过没?你的问题有“已解决”的没?




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2