右键菜单打开 Jupyter Notebook 总是跳到 C 盘,是因为其调用命令默认使用 %USERPROFILE% 作为工作目录,且不读取 jupyter_notebook_config.py 配置;需手动修改注册表中对应 command 项的字符串,将 %USERPROFILE% 替换为目标路径(如 D:/jupyter-projects),确保路径存在、无中文空格、可执行文件路径为绝对路径,并用双反斜杠或正斜杠转义。

右键菜单打开 Jupyter Notebook 为什么总是跳到 C 盘?
因为 Windows 右键菜单项(比如“在此处打开 Jupyter Notebook”)背后调用的是一个固定命令,它默认把 %USERPROFILE% 作为工作目录传给 jupyter notebook。哪怕你改了配置文件,右键行为也不会自动同步——它压根不读那个配置。
怎么改右键菜单的默认路径?
本质是修改注册表里对应项的命令字符串。关键点不是“取消”,而是“替换成你想要的路径”:
- 按
Win + R,输入regedit打开注册表编辑器 - 定位到路径:
HKEY_CLASSES_ROOTDirectoryBackgroundshellJupyterNotebookcommand(也可能在DirectoryshellJupyterNotebookcommand,取决于你安装时注册的位置) - 双击右侧的
(默认)值,把整个字符串里的%USERPROFILE%替换成你的目标路径,例如D:jupyter-projects - 确保路径存在且使用正斜杠或双反斜杠,比如
"C:Users ameAnaconda3Scriptsjupyter-notebook.exe" "D:/jupyter-projects"或"C:...jupyter-notebook.exe" "D:\jupyter-projects" - 保存后重启资源管理器(任务管理器 → 重启
explorer.exe)或直接重启电脑
为什么改完配置文件,右键还是不管用?
这是最常见的混淆点:右键菜单和命令行启动是两套机制。
-
jupyter notebook --generate-config生成的jupyter_notebook_config.py只影响你手动执行jupyter notebook命令时的行为 - 右键菜单走的是 Windows Shell 注册逻辑,完全绕过配置文件
- 新版 Jupyter(v7+)已将
c.NotebookApp.notebook_dir废弃,改用c.ServerApp.root_dir,但右键菜单根本不会去读这个字段 - 如果你同时改了注册表和配置文件,建议统一用
c.ServerApp.root_dir,并确认路径末尾不要带斜杠
改完右键路径后打不开或闪退?
几乎全是路径问题,尤其容易被忽略的细节:
- 目标路径必须**提前创建好**,Jupyter 不会自动建目录,路径不存在就直接退出
- 路径中不能有中文、空格或特殊符号;如果非要用,整个路径必须用英文双引号包裹
- 注册表里命令字符串中的可执行文件路径(如
jupyter-notebook.exe)要写绝对路径,别依赖环境变量 - 如果用了
r''前缀或转义,在注册表里无效——注册表只认原始字符串,必须写成\或全用/
最稳妥的做法:先用命令行验证路径是否生效,再同步改注册表。右键菜单一旦配错,比配置文件更难排查。


















