【问题标题】:batch send "ENTER" key to running program批量发送“ENTER”键运行程序
【发布时间】:2016-04-07 15:46:24
【问题描述】:

我有一个“旧的”fortran.exe 文件(无法访问代码),我需要使用批处理文件执行几百次。

但是,在 fortran 程序结束时,它会打印 "Press ENTER to exit",当然会中断批处理文件的执行...

有没有办法将{ENTER} 发送给正在运行的程序?

【问题讨论】:

  • 这实际上与 fortran 无关,并且特定于您的系统/shell。我想这是一个 Windows 问题,但您可能想说并添加适当的标签
  • 我同意!删除了 fortran 并添加了 windows 和 cmd 标签。谢谢
  • 试试echo/|fortran.exe。是否可行 - 取决于 fortran 程序员如何实现请求。
  • 您必须使用批处理文件吗? PowerShell 可能有用吗?

标签: windows batch-file cmd batch-processing


【解决方案1】:

检查sendkeys.bat。该脚本能够发送一个键来运行具有特定标题的程序:

call sendkeys.bat "fortran-program" "{ENTER}"

编辑

try with this script

call nonsecureSendKeys.bat "progfortr" "{ENTER}"

【讨论】:

  • 看起来很有趣,但它说“找不到标题为 progfortr.exe 的应用程序”...
  • @JoãoPalma - 尝试不带.exe 后缀
  • @JoãoPalma - 您需要标题栏中的字符串
  • 同样的问题使用:call sendkeys.bat "progfortr.exe" "{ENTER}"call sendkeys.bat "progfortr" "{ENTER}"call sendkeys.bat progfortr.exe "{ENTER}"call sendkeys.bat progfortr "{ENTER}"“需要标题栏中的字符串”是什么意思?
  • @JoãoPalma - 检查我的编辑。看起来AppActivate 函数有问题。
【解决方案2】:

我最近遇到了这个问题,这是我发现的最简单/最快的解决方案:

echo & echo.|fortran.exe

您输入“& echo”。 (新行)在键盘缓冲区内,等待可执行文件使用。

【讨论】:

    【解决方案3】:

    这不适用于无窗口程序。

    因为你应该这样做:.AppActivate(title).

    无窗口运行的程序,不能激活。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 2014-03-24
      • 1970-01-01
      • 1970-01-01
      • 2011-06-15
      • 1970-01-01
      相关资源
      最近更新 更多