在notepad++中一键打开当前文件所在目录的cmd窗口,需在“运行”中输入cmd /k cd/d "$(current_directory)"并绑定快捷键;该命令利用宏变量定位路径,/d确保跨盘符切换,英文双引号防止空格路径解析错误。

在 Notepad++ 里一键打开当前文件所在目录的 CMD 窗口
Notepad++ 本身不带“在此处打开终端”菜单项,但可以通过 运行 功能 + 内置变量快速实现,本质是执行一条 cmd /K cd/d $(CURRENT_DIRECTORY) 命令。
-
$(CURRENT_DIRECTORY)是 Notepad++ 的宏变量,代表当前已保存文件所在的完整文件夹路径(未保存文件会返回空或临时路径,不可用) -
/K表示执行命令后保持 CMD 窗口打开,方便后续输入 -
cd/d能同时切换盘符和目录,比单纯cd更可靠(比如从 C: 切到 D:\project)
操作步骤:
- 按
F5打开“运行”对话框 - 输入:
cmd /K cd/d $(CURRENT_DIRECTORY) - 点击“保存…”可绑定快捷键(如 Ctrl+Alt+T),下次直接触发
注意:如果当前标签页是未保存的新建文档(new 1),$(CURRENT_DIRECTORY) 为空,CMD 会默认打开在系统用户目录(如 C:\Users\Alice),不是你期望的位置。
为什么用 cmd /K 而不是 start cmd 或 explorer
start cmd 启动的是新窗口且不自动切目录,容易误操作;explorer $(CURRENT_DIRECTORY) 只打开资源管理器,不是命令行。
-
cmd /K直接进入目标目录,光标就绪,适合接着敲git status、python main.py等命令 - 如果你希望窗口执行完自动关闭,改用
cmd /C,但这样无法交互,仅适合单条命令(如cmd /C dir) - 不要用
cmd /K cd $(CURRENT_DIRECTORY)(缺/d)——跨盘符失败,比如当前文件在D:\proj,而 CMD 默认在C:,不加/d就切不过去
命令行中打开 Notepad++ 并定位到当前文件夹的等效方式
如果你习惯从外部终端出发,也可以反向操作:
先在 CMD 中进入某目录(如
D:\work),再运行:notepad++ .
——注意这个.,Notepad++ 会把当前目录当作工作区根,文件浏览器面板自动展开该路径但要注意:如果
notepad++.exe不在PATH中,得写全路径,或先用cd /d "C:\Program Files\Notepad++"切过去再执行还有个坑:
notepad++ .在某些旧版本(v7.9 之前)可能只打开空白窗口,建议升级到 v8.x 或更高版本确保支持
路径含空格时命令仍能正常执行的关键点
$(CURRENT_DIRECTORY) 变量本身不会自动加引号。例如当前路径是 C:\My Project\config,变量展开后就是裸字符串 C:\My Project\config,CMD 会把它拆成 C:\My 和 Project\config 两个参数,报错。
解决方法只有一个:手动包一层引号,写成cmd /K cd/d "$(CURRENT_DIRECTORY)"
- 引号必须是英文双引号,且紧贴变量前后,不能有空格
- 这个写法在所有 Notepad++ 版本(v7.5+)中都稳定生效
- 如果你用 NppExec 插件写脚本,也得同样处理:
cmd /K cd/d "$(CURRENT_DIRECTORY)",否则空格路径必挂
Notepad++ 的路径变量很实用,但它们不校验存在性,也不做转义——这意味着你得自己兜底加引号、选对开关参数,否则看似一键的操作,实际卡在最基础的路径解析上。











