Visual studio 2008 通过批处理文件传播环境变量?

Visual studio 2008 通过批处理文件传播环境变量?,visual-studio-2008,windows-7,batch-file,environment-variables,Visual Studio 2008,Windows 7,Batch File,Environment Variables,我正在通过批处理文件设置一些永久性环境变量。是否可以在不通过批处理文件注销的情况下传播它们?我看过,但想知道是否可以通过批处理文件 目前,当我设置环境变量(关闭Visual Studio)并启动Visual Studio时,新的环境变量无法识别,并且给定的项目(取决于变量)无法编译。如果我注销,然后重新登录,它们是。如果我想让批处理文件检测变量是否存在,如果存在,则什么也不做,情况也是如此 除非我注销/登录,否则当批处理文件设置环境变量、执行其工作并关闭时,如果我重新运行它,它将再次设置该变量(

我正在通过批处理文件设置一些永久性环境变量。是否可以在不通过批处理文件注销的情况下传播它们?我看过,但想知道是否可以通过批处理文件

目前,当我设置环境变量(关闭Visual Studio)并启动Visual Studio时,新的环境变量无法识别,并且给定的项目(取决于变量)无法编译。如果我注销,然后重新登录,它们是。如果我想让批处理文件检测变量是否存在,如果存在,则什么也不做,情况也是如此


除非我注销/登录,否则当批处理文件设置环境变量、执行其工作并关闭时,如果我重新运行它,它将再次设置该变量(无法检测到它已经存在)。如果我注销/登录,批处理文件将检测到变量(并通知用户),Visual Studio将编译给定的项目,而不会出现错误。

我不确定是否可以执行此操作。环境变量值仅从启动新流程的流程继承。当您在.bat或.cmd文件中设置它们时,您只是在更改执行批处理文件的cmd.exe进程的变量值

如果随后从同一cmd.exe会话启动devenv.exe,则Visual Studio也将更改/添加这些环境变量

不起作用的是从资源管理器启动Visual Studio。这早在你登录时就开始了。它已使用系统环境初始化。您可以使用控制面板+系统小程序对其进行修改。高级,环境变量按钮。要使此处的更改生效,您必须重新启动进程,以便使用这些更改的设置对其进行初始化


这实际上意味着您必须重新启动资源管理器。是的,注销可以做到这一点。

这正是我想要的,谢谢。我可以在用户同意的情况下重新启动资源管理器。谢谢在尝试时,我发现即使通过SETX设置环境变量,然后重新启动explorer.exe,然后重新启动Visual Studio,也没有检测到环境变量。需要一个注销/登录周期。我猜你没有完全杀死Explorer。完全杀死Explorer?仅仅杀死explorer.exe进程并重新启动它是不够的?完全没有开始按钮,没有任务栏。注销显然是更容易的方法。