从批处理检查 Visual Studio Shell 安装
Posted
技术标签:
【中文标题】从批处理检查 Visual Studio Shell 安装【英文标题】:Check Visual Studio Shell Installation from Batch 【发布时间】:2012-12-14 14:37:23 【问题描述】:我们如何通过批处理脚本检查是否安装了 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. )
【问题讨论】:
你想知道什么?版本号还是版本名称?即 10 或 express/pro 等。 其中一个或两个都可以。 感谢您的回复,仅供将来参考,请在您的问题中添加任何更新并带有明确的标题(请参阅我的编辑),而不是编辑解决方案,这样更有意义。很高兴看到你有reg query
工作。
【参考方案1】:
@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 上运行,那么您可能需要添加对 %systemdrive%\Program Files (x86)
的检查,具体取决于 VS 的安装位置。
【讨论】:
@Rob 感谢您在编辑时通知我,我已将 OP 的回复添加到他们的问题中,以便将来的读者使用。以上是关于从批处理检查 Visual Studio Shell 安装的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio 数据库项目:包括对所有对象的“如果存在”检查
Visual Studio 2015 C#从昨天开始运行前自动构建
在Visual Studio中调试时,如何检查有关进程令牌的详细信息?