windows - 从 Emacs 运行 Windows 批处理文件

标签 windows batch-file emacs cmd

我对 gnu emacs 有点陌生,所以这可能是一个菜鸟问题,但我有一些批处理文件,我在 emacs 中编码以编译/构建/执行/调试/等时经常使用这些文件。我想知道我如何才能 A) 从 emacs 运行这些批处理文件而不必继续打开 cmd 提示窗口或转到 Windows 资源管理器和 B) 将其绑定(bind)到快捷键(也许我可以指定文件?)我已经看到了几个在线关于以批处理模式运行 emacs 的事情,但我不相信这就是我要找的东西。我知道这是可能的,因为我看到其他人从 emacs 运行批处理(输出和所有内容都会出现在与当前相邻的新缓冲区中,就像您执行 C-x 3 一样)

提前致谢!

最佳答案

要在 Emacs 中运行任意 shell 命令,您可以调用绑定(bind)到 M-!shell-command

参见C-hf shell-command(或C-hkM-!) 了解详情。

我相信 Windows 原生的 Emacs,默认的 shell 是 cmd(或者它的某个别名),所以我有理由相信这就是您的想法。

我不确定以下所有命令是否都适用于 Windows,但相关命令是:

  • M-& - async-shell-command
  • M-| - shell-command-on-region

使用前缀参数(例如 C-uM-!),任何这些命令都会将 shell 命令的输出插入到当前缓冲区. (在 shell-command-on-region 的情况下,替换 区域。)

关于windows - 从 Emacs 运行 Windows 批处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27240336/

相关文章:

sqlite - 如何使用elisp创建一个sqlite特定的shell?

windows - 在不同位置安装nodejs的最佳方法是什么

c++ - DIrectX 12 和 D3D12CreateDevice 失败

windows - 是否有任何无效的 linux 文件名?

windows - 使用批处理文件在单独的实例中打开多个 Excel 文件

php - 如何通过 PHP 在 Windows 服务器上执行 .exe 文件?

batch-file - 使用 doskey 在运行时评估环境变量

emacs - emacs 的智能替换键绑定(bind)

regex - Replace-regex 从驼峰式大小写函数名称中删除第一个元素

windows - 如何确定接口(interface)是否是 Windows PC 上的物理 LAN 端口?