我想在我的上下文菜单(Windows 7和10)上添加一个选项,当我右键单击该文件夹时,将Anaconda Prompt打开到文件位置,但我找不到正确的注册表项。
这是我所知道的怎么做:
我无法弄清楚的是如何将这些步骤组合到一个注册表项中,这样我就可以打开一个Anaconda Prompt然后在该提示符下cd到当前文件夹。但也许我正以错误的方式接近这一点。
来自互联网大师的帮助表示赞赏。
在最近的Anaconda版本(我在conda 4.5.5
),他们已经改变了行为和Anaconda Prompt的快捷方式,所以新程序实际上比bdforbes描述的要简单一些。
在文件夹中启动Anaconda Prompt的新方法是
cmd.exe /K %%USERPROFILE%%\AppData\Local\Continuum\Anaconda3\Scripts\activate.bat
pushd
是更改当前目录,%V
是当前目录,而/K
是运行命令。
因此不再需要修改后的cwp2.py
。将以下内容放在.bat文件中并以管理员身份运行,将所需的密钥添加到注册表中(gist在评论中发布的Thibaud Ruelle的修改版本到另一个答案)
REG ADD HKCR\Directory\Background\shell\Anaconda\ /ve /f /d "Anaconda Prompt Here"
REG ADD HKCR\Directory\Background\shell\Anaconda\ /v Icon /f /t REG_EXPAND_SZ /d %%USERPROFILE%%\\Anaconda3\\Menu\\Iconleak-Atrous-Console.ico
REG ADD HKCR\Directory\Background\shell\Anaconda\command /f /ve /t REG_EXPAND_SZ /d "%windir%\System32\cmd.exe pushd "%V" "/K" %%USERPROFILE%%\Anaconda3\Scripts\activate.bat %%USERPROFILE%%\Anaconda3"
REG ADD HKCR\Directory\shell\Anaconda\ /ve /f /d "Anaconda Prompt Here"
REG ADD HKCR\Directory\shell\Anaconda\ /v Icon /f /t REG_EXPAND_SZ /d %%USERPROFILE%%\\Anaconda3\\Menu\\Iconleak-Atrous-Console.ico
REG ADD HKCR\Directory\shell\Anaconda\command /f /ve /t REG_EXPAND_SZ /d "%windir%\System32\cmd.exe pushd "%V" "/K" %%USERPROFILE%%\Anaconda3\Scripts\activate.bat %%USERPROFILE%%\Anaconda3"
更新:answer by Filip S.可能会在更新版本的Anaconda上运行得更好。
另一个更新:我修复了在驱动器根目录中使用此启动器的问题(例如C:\
或D:\
)。它非常小:在注册表项中添加了一些空格(相关部分:"%V "
),因此尾部反斜杠不会混淆Windows。
原帖
我也想要这个功能,所以我做到了。关键步骤概述如下,进一步说明。
警告:除非您熟悉编辑注册表并使用非生产系统,否则请勿继续。显然,不要运行我告诉你的一切,检查它是不是做了任何邪恶的事情。你不认识我!
找到Anaconda脚本cwp.py
(我的在C:\Users\bdforbes\Anaconda3\
)并将其复制到同一目录中的cwp2.py
。
修改cwp2.py
以接受目标路径作为第二个参数并更改为该目录:
prefix = sys.argv[1]
cwd = sys.argv[2]
args = sys.argv[3:]
... (PATH setting code)
(REMOVE OLD LOGIC THAT CALLED os.chdir)
os.chdir(cwd)
sys.exit(subprocess.call(args, env=env))
完整代码:https://gist.github.com/bdforbes/9ef59cd01c22acefc20c5c92bd9550ae
在注册表中,转到HKEY_CLASSES_ROOT\Directory\Background\shell\
并添加一个密钥Anaconda
,其默认值为“Open Anaconda Prompt Here”,其子密钥command
具有以下默认值:
C:\Users\bdforbes\Anaconda3\pythonw.exe C:\Users\bdforbes\Anaconda3\cwp2.py C:\Users\bdforbes\Anaconda3 "%V " cmd.exe "/K" C:\Users\bdforbes\Anaconda3\Scripts\activate.bat C:\Users\bdforbes\Anaconda3
将相同的条目添加到HKEY_CLASSES_ROOT\Directory\shell\
。
我放了一个.reg
file here,你只需要搜索替换bdforbes
并将其替换为你的Windows帐户名。不先检查它就不要运行.reg
文件!
右键单击文件夹。你应该看到那里的新条目,它将让你打开一个新的Anaconda提示。