如何在批处理文件中获取 Visual Studio 安装路径

use*_*739 12 path batch visual-studio batch-file

通常,路径类似于C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\.

从 Visual Studio 中,可以使用$(VCInstallDir)$获取此路径。

Q: But in a batch file, how to get this path?
Run Code Online (Sandbox Code Playgroud)

我知道可以%VS100COMNTOOLS%在批处理文件中使用环境变量来获得类似的路径,即C:\Program Files\Microsoft Visual Studio 10.0\Common7\Tools\.

解决方案不应依赖于 VS 的版本。

小智 8

使用vswhere实用程序,它是 VS 包的一部分(正式),但也可以与 MSVC 分开使用。

> vswhere.exe -latest -property installationPath
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
Run Code Online (Sandbox Code Playgroud)

在这里您可以找到更多详细信息


Ada*_*dam 6

您还可以使用注册表来查找 Visual Studio 安装目录的路径。您必须添加额外的逻辑来处理可能安装的不同版本的 VS,例如 10.0 或 11.0。

@ECHO OFF
setlocal ENABLEEXTENSIONS
; 32-bit system:
set KEY_NAME="SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VS"
; 64-bit system:
; set KEY_NAME="SOFTWARE\WOW6432Node\Microsoft\VisualStudio\9.0\Setup\VS"
set VALUE_NAME=ProductDir

FOR /F "usebackq skip=4 tokens=1-3" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul`) DO (
    set ValueValue=%%C
)

if defined ValueName (
    @echo Registry Value = %ValueValue%
) else (
    @echo %KEY_NAME%\%VALUE_NAME% not found.
)
pause
Run Code Online (Sandbox Code Playgroud)