【问题标题】:Piping in WindowsWindows 中的管道
【发布时间】:2017-03-13 15:33:59
【问题描述】:

我有一个控制台来控制设备驱动程序。这个工具允许我输入数字和设备的更改参数。这是在Windows系统上执行的。为了不手动输入数字,我将这些数字传递给可执行文件,就像这样..

cd %tool_path%
(
echo 1
echo 2
echo 3
)myconsole.exe

这是我的问题,有没有办法在这些回声之间设置延迟?如果我能读取输出会更好,这样我就可以根据输出发送不同的数字。

我的想法是用 C 或 C++ 编写一个简短的程序,并在其中处理这些延迟。但我真的找不到这方面的例子。这是我发现的。

https://msdn.microsoft.com/de-de/library/windows/desktop/ms682499(v=vs.85).aspx

但在这个例子中,我不知道在哪里可以输入myconsole.exe。 我还查看了命名管道,但它们似乎不适合这项任务。

【问题讨论】:

    标签: windows ipc


    【解决方案1】:

    您应该看看名为 expect 的 Unix 工具 - ActiveState 有一个 Windows 版本。

    基本上,您可以执行以下操作:

    send "Hello\r\n"
    sleep 1
    send "Something\r\n"
    expect {
       "> " { }
       "$ " { }
    }
    if { $a == "soup" } {
       puts "You have soup!"
    else {
       puts "No soup for you!"
    }
    

    here 和整个网络都有示例 - 查找 Tcl/expect tutorials

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-21
      • 2017-09-13
      • 1970-01-01
      • 2015-11-16
      • 2015-04-12
      • 2021-04-09
      • 1970-01-01
      相关资源
      最近更新 更多