要从批处理文件设置VS2010环境变量吗?

问题描述 投票:0回答:2

我正在使用批处理文件来定义一些将在我的程序中使用的变量。我希望批处理文件更改环境变量并在我的代码中使用它,但是它现在正在工作-宏未更改。

更具体和清楚:

  1. 我有一个创建DLL并设置其版本的程序

  2. 在项目的通用设置中-我创建了一个新的宏(通用属性->用户宏):TEST_VER = 5

  3. 现在我要添加一个批处理文件,该文件将在预构建命令中运行并更改TESTER的值

我在批处理文件中写了这个:

set TEST_VER=9

并在预构建中使用批处理的路径。

但是它无法识别。仍然使用5作为值

我虽然在做:该项目的特点->资源->一般并添加:TEST_VER = $(TEST_VER)仍然没用

“在此处输入图像描述”

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9RNDBoMy5qcGcifQ==” alt =“在此处输入图像描述”>

有办法吗?

谢谢!

c++ visual-studio-2010 batch-file environment-variables pre-build-event
2个回答
0
投票

当Visual Studio启动程序时,它将在新的子进程中运行该程序。在这种情况下,这是一个新的CMD.EXE,即命令提示符外壳。在子流程(子流程)中对环境所做的更改,对父流程没有影响。 Visual Studio有自己的一组环境变量,它在启动时会继承。您的批处理文件无法更改这些值。您无法按照自己的方式去做。


0
投票

如果您愿意的话。...

设置ABC = 123

然后,您将不能使用$(ABC),因为在将$(ABC)交给命令行运行之前,已对其进行处理。

您必须使用命令行所用的%ABC%。它不知道$(ABC)是什么,因为只有Visual Studio才能理解。

现在使情况更糟的是,Visual Studio事件编辑器使用%作为转义字符,因此您需要直接在vcxproj文件中的记事本中编辑事件文本,以避免转义。

© www.soinside.com 2019 - 2024. All rights reserved.