【问题标题】:Execute .exe from a batch file从批处理文件执行 .exe
【发布时间】:2013-10-24 08:16:02
【问题描述】:

在一个应用程序文件夹中,有 n 个文件。应用程序 exe 名称“ClearMongoDb.exe”带有一些参数,例如 dbname。

例如:clearMongoDb.exe -db "SynchoMeshDB"

我被困在下面:

  • 我想从具有相同参数的批处理文件中执行 exe
  • 批处理文件将放置在同一应用程序文件夹中。
  • 用户可以将应用程序文件夹复制到任何位置

如果用户双击 .bat 文件,exe 应该开始工作。 不应要求用户对 .bat 文件进行任何更改

【问题讨论】:

  • 如果我理解,您的问题是“如何从批处理文件启动 EXE,并为批处理文件提供相同的参数?”这是正确的吗?
  • 还有什么问题?数据库名称可以更改,您要阅读吗?

标签: file batch-file cmd


【解决方案1】:

如果批处理文件与可执行文件位于同一文件夹中,则可以这样做:

clearMongoDb.exe -db "SynchoMeshDB"

只需在批处理文件中添加这一行。现在,无论整个文件夹移动到何处(或至少是可执行文件和批处理文件),引用都与可执行文件位于同一文件夹中。

更新:

正如 foxidrive 提到的,为了查看输出,请在末尾放置 PAUSE 命令。所以,你的批处理文件应该是这样的:

clearMongoDb.exe -db "SynchoMeshDB"
PAUSE

【讨论】:

  • 当我执行批处理文件时,控制台窗口只是闪烁并关闭而没有完成该过程。而如果我运行应用程序 exe,则需要超过 15 秒才能完成该过程。
  • 在此处放置 PAUSE 命令,您将能够读取输出。
【解决方案2】:

如果您只想将提供给批处理文件的所有参数传递给从该批处理文件调用的 EXE,请使用 %*。

foo.exe %*

How do I pass command line parameters to a batch file?

【讨论】:

    【解决方案3】:

    您可以只使用文件的快捷方式并在路径上添加参数。不需要额外的批处理文件。

    编辑:除非您想将批处理文件参数传递给 .exe,因为有些人会阅读此内容。你想让我做什么?每次都执行一个参数相同的.exe,还是把.bat参数传给.exe?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-09
      • 2012-12-26
      • 1970-01-01
      • 2014-11-26
      • 1970-01-01
      • 2017-05-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多