有人可以告诉我如何从 Notepad++ 运行批处理文件吗
Posted
技术标签:
【中文标题】有人可以告诉我如何从 Notepad++ 运行批处理文件吗【英文标题】:Can someone tell me how to run a batch file from Notepad++ 【发布时间】:2010-11-16 16:12:43 【问题描述】:我想我可以通过输入 CMD $(FULL_CURRENT_PATH) 直接使用 nppexec by(或内置运行命令)从 Notepad++ 运行批处理文件
但由于 notepad++ 有一个 CMD 命令(在 npp 控制台中打开 cmd shell),所以它不起作用。因此,运行上述命令会在 npp 控制台中打开 cmd shell,但不会运行批处理文件。那时我可以运行 $(FULL_CURRENT_PATH) 并且它将运行批处理文件。但是我必须输入 exit 才能获得我们的命令 shell 模式。
谁能告诉我如何直接在 npp 中运行我当前在 npp 中编辑的批处理文件。
【问题讨论】:
【参考方案1】:cmd /c "$(FULL_CURRENT_PATH)"
:)
【讨论】:
+1,这对我有用,还发现你可以从运行对话框中保存这个命令,它会自动出现在运行菜单上 如果希望它运行在文件的路径中:cmd /c "cd $(CURRENT_DIRECTORY) && $(FULL_CURRENT_PATH)"
【参考方案2】:
使用RunMe 插件,您可以做到这一点。它可以在打开文件之前将当前目录更改为文件路径,而 Ben 的解决方案不会这样做。 ;)
【讨论】:
【参考方案3】:cmd /k "cd $(CURRENT_DIRECTORY) && "$(FULL_CURRENT_PATH)"" & pause
这会捕获其中包含空格的批处理文件。
【讨论】:
暂停是一个不错的补充。有时我喜欢在批处理文件完成时听到 bell。输入屏幕不允许我键入 ALT+007,但我能够编辑 shortcuts.xml 文件并将echo 
添加到其中。在 XML 文件中,我的完整命令现在是 cmd /k "cd $(CURRENT_DIRECTORY) && "$(FULL_CURRENT_PATH)"" & echo  & echo Press any key to return to Notepad++... & pause>nul & Exit
【参考方案4】:
您可以使用notepad++中的运行菜单来创建快捷方式:
-
运行 -> 运行 (F5)
在“要运行的程序”中键入命令行
保存,输入名称(如果需要,请选择快捷方式)
和我一起:
link to example image
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:update /path:"$(FULL_CURRENT_PATH)"
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:commit /path:"$(FULL_CURRENT_PATH)"
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:lock /path:"$(FULL_CURRENT_PATH)"
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:unlock /path:"$(FULL_CURRENT_PATH)"
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:log /path:"$(FULL_CURRENT_PATH)"
【讨论】:
【参考方案5】:要在其父目录中运行批处理,您必须将/d
参数传递给cd
以根据需要更改驱动器号并转义路径(如果包含空格)。
cmd /c "cd /d ""$(CURRENT_DIRECTORY)"" && ""$(FULL_CURRENT_PATH)"""
【讨论】:
当我尝试这个时,我得到一个 cmd 窗口的闪烁,然后它就消失了,即使我的批处理文件中有一个暂停语句,并且批处理文件没有执行。 @SirAdelaide 您可以在运行命令(不是批处理文件)的末尾添加“& pause”来暂停并查看批处理运行失败的原因。以上是关于有人可以告诉我如何从 Notepad++ 运行批处理文件吗的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Windows XP 的批处理文件中设置处理器关联?