Batch file 检测32位与64位office不工作的批处理文件代码

Batch file 检测32位与64位office不工作的批处理文件代码,batch-file,64-bit,32-bit,Batch File,64 Bit,32 Bit,我正在尝试组合一个批处理文件,当用户运行时,它将选择适当的可执行文件位版本。我在stackoverflow上找到了以下代码: 问题是,当我将它粘贴到桌面上的文本文件中并在安装了64位Office 2010的虚拟机中重命名它时,它不起作用:它声称它是32位的,这是代码中设置的默认值。由于不擅长检查注册表项,我想知道是否有现成的版本在那里的某个地方可以真正工作。我还想知道为什么没有一个简单的方法来确定这一点。我本以为这是微软可以让开发者轻松访问的东西 如果您想检查Microsoft Office的比

我正在尝试组合一个批处理文件,当用户运行时,它将选择适当的可执行文件位版本。我在stackoverflow上找到了以下代码:
问题是,当我将它粘贴到桌面上的文本文件中并在安装了64位Office 2010的虚拟机中重命名它时,它不起作用:它声称它是32位的,这是代码中设置的默认值。由于不擅长检查注册表项,我想知道是否有现成的版本在那里的某个地方可以真正工作。我还想知道为什么没有一个简单的方法来确定这一点。我本以为这是微软可以让开发者轻松访问的东西

如果您想检查Microsoft Office的比特数、版本和安装位置,可以对该脚本进行测试,看看它是否更适合您:

@Echo关闭
如果已定义,则处理器\u架构为6432(
启动“/D”%\uuuuu CD\uuuuuu%”“%SystemRoot%\SysNative\cmd.exe”/C“%~f0”&退出/B)
设置/A“OSA=MWB=%PROCESSOR\u体系结构:~-2%”
如果%OSA%==86,则设置“MWB=32”
Set“MOB=“&Set”GUID=“&Set”REG=%\uuuu AppDir\uuuuu%REG.exe”
电话:Chk
如果未定义MOB如果%MWB%==64调用:Chk\Wow6432Node
如果未定义MOB(Echo Microsoft Office产品未安装&GoTo:EndIt
)否则,如果未定义IOV(Echo无法确定Microsoft Office版本
后藤(完)
Echo%MWB%-比特操作系统,带有安装在%OIL%中的Office 20%IOV%%MOB%-比特产品
:EndIt
>Nul超时-1
后藤:EOF
:Chk
Set“MOB=”和Set“GUID=”和Set“OIL=”
设置“Key=HKLM\Software%1\Microsoft\Windows\CurrentVersion\Uninstall”
对于/F Delims^=(““%REG%”查询“%Key%”/K/F”*-001B-*0FF1CE}”中的%%A
)设置“GUID=%%~nxA”&转到:下一步
:下一个
如果不是“%GUID:~-1%”==“}”设置“GUID=”
如果未定义GUID退出/B
设置“MOB=32”&如果“%GUID:~20,1%”==“1”设置“MOB=64”
如果“%GUID:~4,1%”==“2”设置“IOV=07”
如果“%GUID:~4,1%”==“4”设置“IOV=10”
如果“%GUID:~4,1%”==“5”设置“IOV=13”
如果“%GUID:~4,1%”==“6”设置“IOV=16”
如果未定义IOV退出/B
对于(““%REG%”查询“%Key%\%GUID%”/V“InstallLocation”中的/F令牌^=2*%%%A
)设置“油=%%B”
退出/B
但是,请注意,此脚本设计用于从
2007
2016
版本(含)的Windows Microsoft Office产品。该脚本仅检查Microsoft Word的特定卸载密钥(假定只有在极少数情况下才会有人安装Office而不包括Word产品),并且不能保证所有版本都使用相同的卸载密钥


我不会因为对您的问题进行任何添加/更改而修改此代码,也不会出于其他目的提供修改帮助。

您为什么需要这样做?你想要完成什么还不完全清楚,这有什么区别呢。键入
winword
将始终启动它。开发人员通常不需要知道。我的32位脚本可以在Word的任何一个版本上正常工作,反之亦然。谢谢然而,我已经找到了一种方法来完成我想做的事情,而不使用批处理文件,所以我想我不“需要”它。但知道这一点很好。不知道为什么我会累积反对票。新手的第一次体验很差。谢谢@RobH的反馈。我知道你已经找到了一个无批次的文件解决方案,但是,因为[]是规定的标签,并且你已经确认它是可行的,你能考虑把它标记为接受吗?请阅读,了解更多。这就是那个灰色的复选标记的意义!