0

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

更具体和明确:

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

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

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

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

set TEST_VER=9

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

但它不认识它。并且仍然使用 5 作为值

我虽然在做:项目的属性->资源->一般并添加:TEST_VER = $(TEST_VER)但仍然没有工作

在此处输入图像描述

在此处输入图像描述

有没有办法做到这一点?

谢谢!!

4

1 回答 1

0

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

于 2012-12-16T12:20:40.687 回答