环境变量保存在 cmd 但不在 .bat 中

Environment variables saved in cmd but not in .bat

我想运行一个程序使用一组特定的环境变量。

我的 .bat 文件如下所示:

/c cd "C:\Program Files\My\Software"
/c setup_env.bat
matlab

当我 运行 它在 cmd 中按此顺序工作时(作为单行和 .bat)但是当我 运行 在 cmd 之外的 .bat 文件(例如双击)它运行s matlab 但没有设置环境变量。

当我从图形环境中执行时,我该怎么做才能让它做同样的事情?

当你想从你的批处理文件启动一个批处理文件时,你应该使用 CALL setup_env.bat,否则 setup_env 将不会 return 到调用者脚本

如果您希望 MATLAB 设置特殊的环境变量,您可以在 MATLAB 中使用 setenv 函数进行设置。 在这种情况下,您可以将其添加到您的 MATLAB startup 文件中。

并使用 MATLAB 快捷方式和指向此启动文件所在位置的启动目录。

这将或多或少地完成您的 .bat 文件正在做的事情,但使用自定义的 MATLAB 快捷方式。