2014-10-29 209 views
0

我很熟悉批处理。超轻的知识。无论如何,我有这个程序运行在命令行模式(它恰好呈现我的世界地图)。 它通常用于打开cmd,并输入mapcrafter.exe -c config.config -j 8运行exe,指定配置文件,并运行带有8个线程的作业。如何将批处理文件中的命令发送到命令行.exe?

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

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

这伟大的工作,当批处理文件是在同一目录下的EXE。 不管怎么说,我不知道该怎么做的是:

  1. 启动命令提示符
  2. 更改目录(CD),以包含.exe
  3. 运行与两个.exe文件(文件夹-c -j)参数

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

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

回答

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

+2

如果你不想编辑系统路径变量,你也可以在你的批处理文件中写入'set path =%path%; D:\ MineCraft'。这会将该目录添加到仅用于批处理文件上下文的路径(以及由其生成的进程)中。 – 2014-10-29 04:25:41

+0

当我做'D:\ MineCraft \ mapcrafter.exe --config“config.config”--jobs 8'我得到一个闪烁的控制台窗口 'D:\ MineCraft \ Renders \ Specific作业文件夹> D: \ Minecraft \ mapcrafter.exe --config“config.config”--jobs 8 “D:\ Minecraft”不被识别为内部或外部命令,可操作程序或批处理文件“ – Dirttraxx 2014-10-29 22:22:32

+0

”命令提示符。它扼杀配置文件的路径。当我在'-c'或'--config'参数后面输入''D:\ MineCraft \ Renders \ Specific作业文件夹\ config.config''时,我得到了反馈'<“D:\ MineCraft \渲染\特定作业文件夹\ config.config“>对参数'-c'或'--config'无效 – Dirttraxx 2014-10-29 22:57:06