使用项目特定的环境变量启动 Conemu

Start Conemu with project specific environment variables

我想创建快捷方式来打开 shell 控制台,并为每个 shell 使用项目特定的环境变量。我现在使用如下所示的批处理文件来执行此操作。它们可以工作,但我每次都需要打开一个 CMD 会话,然后 运行 setenv_AAsetenv_BB。我只想拥有可以双击的快捷方式,然后 运行 就可以开始了。我怎样才能做到这一点?

项目 1 setenv_AA.bat

pushd D:\Projects\AA
set PYTHONHOME=C:\Python27x64\
set PROMPT=[2.7_x64] $p$_$g
set path=%PYTHONHOME%;%cd%\bin;%path%

项目 2 setenv_BB.bat

pushd X:\Work\BB
set PYTHONHOME=C:\Python34\
set PROMPT=[3.4] $p$_$g
set path=%PYTHONHOME%;%cd%\bin;%path%

我已经尝试过的:

.bat 文件的快捷方式只是 运行s ConEmu 而不是说 "Press Enter or Esc to close console...""C:\Program Files\ConEmu\ConEmu64.exe" /cmd D:\project_aa\setenv.bat 也一样。

"C:\Program Files\ConEmu\ConEmu64.exe" /cmd set path=NEW;%path%; 这样的快捷方式会产生 "ConEmuC: Root process was alive less than 10 sec, ExitCode=0. Press Enter or Esc to close console..."

使用 /k /cmd 会产生 "unrecognized switch" 的弹出消息,而 /cmd /k 显示它正在使用 /c 调用 CMD(在 运行 之后终止):

'/k' is not recognized as an internal or external command,
operable program or batch file.

Current directory:
D:\p\ytdemv3.2016-03-08

Command to be executed:
"C:\Windows\system32\cmd.exe" /C /k set path=NEW;...blah...blah

ConEmuC: Root process was alive less than 10 sec, ExitCode=1.
Press Enter or Esc to close console...

如何把/C改成/K?

显然,ConEmu 不是 cmd.exe,所以你的 /c/k 根本没有意义。

使用...\ConEmu.exe /cmd cmd.exe /k your-batch.bat.

至于每个文件夹“.conemurc”,这是个坏主意。这些命令必须按选项卡执行,而不是全局执行。此外,这些命令必须是 shell 特定的,并且必须由在该选项卡中启动的 shell 执行。所以,这个想法与以 /k 开关开始的批处理没有什么不同。