我想创建一个快捷方式,为每个shell打开具有项目特定环境变量的shell控制台。我现在使用如下的批处理文件执行此操作。他们工作但我需要打开一个CMD会话,然后每次都运行setenv_AA
和setenv_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:Root进程活不到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?
答案 0 :(得分:1)
显然,ConEmu不是cmd.exe
,因此您的/c
或/k
根本没有任何意义。
使用...\ConEmu.exe /cmd cmd.exe /k your-batch.bat
。
至于每个文件夹" .conemurc",这是一个相当糟糕的主意。这些命令必须按标签执行,但不能全局执行。此外,这些命令必须是特定于shell的,并且必须由在该选项卡中启动的shell执行。因此,这个想法与使用/ k开关的批处理不同。