【问题标题】:How do I send commands in a batch file to a command line .exe?如何将批处理文件中的命令发送到命令行 .exe?
【发布时间】:2014-10-29 04:15:16
【问题描述】:

我对批处理有点熟悉。超轻知识。无论如何,我有这个程序在命令行模式下运行(它恰好渲染我的世界地图)。 一般是打开cmd,输入mapcrafter.exe -c config.config -j 8运行exe,指定配置文件,8线程运行job。

我想做的一件事是把所有这些都放在一个批处理文件中,这样我就不必在每次想要重新渲染它时都输入所有内容。它看起来像:

start cmd.exe /K mapcrafter.exe --config "config.config" --jobs 8

当批处理文件与 exe 位于同一目录中时,这非常有用。 无论如何,我不知道该怎么做是:

  1. 启动命令提示符
  2. 将目录 (cd) 更改为包含 .exe 的文件夹
  3. 使用两个 (-c -j) 参数运行 .exe

我想在一个批处理文件中完成所有这些,并且我希望它保持命令提示符窗口打开,因为 .exe 输出错误和完成百分比。

我很幸运,凭借我对批处理的有限知识,我能够使单行批处理文件正常工作。在这一点上,我不知道应该如何处理这个问题。提前感谢您提供的任何帮助!

【问题讨论】:

    标签: batch-file command-line cmd executable cd


    【解决方案1】:

    你为什么不直接创建一个批处理文件

    mapcrafter.exe --config "config.config" --jobs 8
    

    它不在同一个目录中时它不起作用的原因是因为你的路径变量没有mapcrafter的位置。一种更简单的方法是使用完整路径,例如

    D:\MineCraft\mapcrafter.exe --config "config.config" --jobs 8
    

    如果您想了解有关配置 PATH 环境变量的更多信息,请参阅 Adding directory to PATH Environment Variable in Windows

    【讨论】:

    • 如果您不想编辑系统路径变量,您也可以在批处理文件中写入set path=%path%;D:\MineCraft。这会将目录添加到路径中,仅用于批处理文件的上下文(以及由此产生的进程)。
    • 当我执行D:\MineCraft\mapcrafter.exe --config "config.config" --jobs 8 时,我得到一个闪烁的控制台窗口D:\MineCraft\Renders\Specific job folder>D:\MineCraft\mapcrafter.exe --config "config.config" --jobs 8 "D:\Minecraft" is not recognized as an internal or external command, operable program or batch file
    • 我尝试在命令提示符中手动输入所有内容。它阻塞了配置文件的路径。当我在-c--config 参数后输入"D:\MineCraft\Renders\Specific job folder\config.config" 时,我收到反馈说参数<"D:\MineCraft\Renders\Specific job folder\config.config"> 对参数-c--config 无效
    • 应用程序快捷方式相同。无论如何,代码实际上是相同的。 "D:\MineCraft\mapcrafter.exe" -c "D:\MineCraft\Renders\Specific job folder\config.config" -j 8
    • 显然我不能在文件路径中使用空格。最终在批处理文件中使用:`cd "D:\Minecraft\" mapcrafter.exe -c "Renders\Specificjobfolder\config.config" -j 8'。我和程序员谈过了,现在他正试图解决这个问题。
    【解决方案2】:

    您可以创建 .bat 文件的快捷方式,然后将其放在桌面或任何您想要的地方。这是http://support.microsoft.com/kb/140443上的微软支持页面

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-15
      • 2015-07-06
      • 1970-01-01
      • 2011-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多