我们如何从批处理脚本检查是否安装了Visual Studio Shell以及安装了哪个版本?
我知道我们可以检查下文件/文件夹是否存在
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE
但我正在寻找一种更优雅,更通用的解决方案。
有什么帮助吗?
更新为可接受的答案:
您的答案很优雅,可以完成任务。由于我专门检查某些版本,因此我正在使用(在检查了您提供的链接之后):
@echo off
reg query "HKEY_CLASSES_ROOT\VisualStudio.DTE.10.0" >> nul 2>&1
if %ERRORLEVEL% NEQ 0 ( echo VS 2010 not installed ) else ( echo VS 2010 installed. )
reg query "HKEY_CLASSES_ROOT\VisualStudio.DTE.11.0" >> nul 2>&1
if %ERRORLEVEL% NEQ 0 ( echo VS 2012 not installed ) else ( echo VS 2012 installed. )
最佳答案
@echo off
for /d %%a in ("%programfiles%\Microsoft Visual Studio*") do (
for /f "tokens=3 delims=\" %%x in ("%%a") do echo %%x
)
pause >nul
如果需要更多详细信息,可以查询plenty of reg keys以获取更多信息,但是要从键和值中提取所需的数据将更加困难。
注意:如果在x64上运行,则可能需要根据VS的安装位置添加对
%systemdrive%\Program Files (x86)
的检查。关于windows - 从批处理中检查Visual Studio Shell安装,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13880742/