【问题标题】:Append to INCLUDE environment variable from Visual Studio 2013 Command Prompt从 Visual Studio 2013 命令提示符追加到 INCLUDE 环境变量
【发布时间】:2026-01-21 00:10:02
【问题描述】:

我想将一个值附加到我的 INCLUDE 环境变量中。这应该很容易。

例如打字

set PATH = "C:/new_entry;%PATH%

有效,并且可以通过验证

回显 %PATH%

但是对 INCLUDE 做同样的事情并不会改变任何事情!

此外,INCLUDE 未在系统属性 > 高级 > 环境变量中列为环境变量,因此 Visual Studio 命令提示符正在从其他地方获取它。

我查看了 C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\varsvall.bat,但没有帮助

@echo off
if "%1" == "" goto x86
if not "%2" == "" goto usage

if /i %1 == x86       goto x86
if /i %1 == amd64     goto amd64
if /i %1 == x64       goto amd64
if /i %1 == arm       goto arm
if /i %1 == x86_arm   goto x86_arm
if /i %1 == x86_amd64 goto x86_amd64
if /i %1 == amd64_x86 goto amd64_x86
if /i %1 == amd64_arm goto amd64_arm
goto usage

:x86
if not exist "%~dp0bin\vcvars32.bat" goto missing
call "%~dp0bin\vcvars32.bat"
goto :SetVisualStudioVersion

:amd64
if not exist "%~dp0bin\amd64\vcvars64.bat" goto missing
call "%~dp0bin\amd64\vcvars64.bat"
goto :SetVisualStudioVersion

:arm
if not exist "%~dp0bin\arm\vcvarsarm.bat" goto missing
call "%~dp0bin\arm\vcvarsarm.bat"
goto :SetVisualStudioVersion

:x86_amd64
if not exist "%~dp0bin\x86_amd64\vcvarsx86_amd64.bat" goto missing
call "%~dp0bin\x86_amd64\vcvarsx86_amd64.bat"
goto :SetVisualStudioVersion

:x86_arm
if not exist "%~dp0bin\x86_arm\vcvarsx86_arm.bat" goto missing
call "%~dp0bin\x86_arm\vcvarsx86_arm.bat"
goto :SetVisualStudioVersion

:amd64_x86
if not exist "%~dp0bin\amd64_x86\vcvarsamd64_x86.bat" goto missing
call "%~dp0bin\amd64_x86\vcvarsamd64_x86.bat"
goto :SetVisualStudioVersion

:amd64_arm
if not exist "%~dp0bin\amd64_arm\vcvarsamd64_arm.bat" goto missing
call "%~dp0bin\amd64_arm\vcvarsamd64_arm.bat"
goto :SetVisualStudioVersion

:SetVisualStudioVersion
set VisualStudioVersion=12.0
goto :eof

:usage
echo Error in script usage. The correct usage is:
echo     %0 [option]
echo where [option] is: x86 ^| amd64 ^| arm ^| x86_amd64 ^| x86_arm ^| amd64_x86 ^| amd64_arm
echo:
echo For example:
echo     %0 x86_amd64
goto :eof

:missing
echo The specified configuration type is missing.  The tools for the
echo configuration might not be installed.
goto :eof

【问题讨论】:

  • 以下命令的输出是什么:echo %INCLUDE%?

标签: windows visual-studio batch-file cmd


【解决方案1】:

未使用 VS 2013 测试

但对于旧版本:INCLUDE 变量可以在机器环境变量中定义,但不是必需的。如果它不存在,那么您可以创建它并根据需要定义值。

另请注意,INCLUDE 是在 vcvarsall.bat 脚本中调用的子 vcvar*.bat 文件中定义/修改的。

【讨论】:

  • 设置 INCLUDE 环境变量在 Visual Studio 2017 中不会产生任何变化。如果创建它并用它定义包含路径,Visual Studio 仍然找不到标头。