【问题标题】:Start Conemu with project specific environment variables使用项目特定的环境变量启动 Conemu
【发布时间】:2016-03-09 19:52:40
【问题描述】:

我想创建快捷方式来打开带有项目特定环境变量的每个 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 文件的快捷方式只是运行 ConEmu,然后说 “按 Enter 或 Esc 关闭控制台...”"C:\Program Files\ConEmu\ConEmu64.exe" /cmd D:\project_aa\setenv.bat 也一样。

"C:\Program Files\ConEmu\ConEmu64.exe" /cmd set path=NEW;%path%; 这样的快捷方式会产生“ConEmuC:根进程存活不到 10 秒,ExitCode=0。按 Enter 或 Esc 关闭控制台...”

使用/k /cmd 会弹出“无法识别的开关”消息,而/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 启动时,它都会在当前文件夹中查找 .conemurc(或其他任何内容)并运行内容。这将启用资源管理器右键单击上下文“ConEmu here...”中的每个文件夹自定义 shell,并绕过创建快捷方式的需要。
  • 相关:stackoverflow.com/questions/13372299/…(但不是特定于位置的设置,而是指每个新会话的全局设置,更像是旧时代的 autoexec.bat)。

标签: conemu


【解决方案1】:

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

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

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

【讨论】:

  • 谢谢!我不明白我需要/cmdcmd.exe,这让我绊倒了。我虽然 /cmd 是调用 cmd.exe 的简写。 .rc 文件只是我想知道避免为每个项目文件夹创建批处理文件和快捷方式的方法。你是知道这是否是一个坏主意的人,尽管如此远离它。 ;-)
猜你喜欢
  • 2018-02-09
  • 1970-01-01
  • 1970-01-01
  • 2021-11-07
  • 2020-06-18
  • 1970-01-01
  • 1970-01-01
  • 2021-01-30
  • 2018-01-17
相关资源
最近更新 更多