【问题标题】:Can windows script get real time output?windows脚本可以实时输出吗?
【发布时间】:2014-05-09 18:25:03
【问题描述】:

我知道我可以使用FOR /F来获取命令过程输出,如下:

FOR /F %%I IN ('myprogram.cmd') DO (
  do something with %%I
)

但是,上述方法我必须等到“myprogram.cmd”完成然后才能获得整个输出。 我想在“myprogram.cmd”运行时实时获取输出。

只能使用windows脚本吗?

【问题讨论】:

    标签: windows shell batch-file


    【解决方案1】:

    Windows 程序当然可以使用管道异步处理另一个进程的输出。 VBScript、JScript 和 PowerShell 等脚本语言应该能够轻松做到这一点。您只需将输出通过管道传输到脚本中,脚本就会在循环中从标准输入读取,并在到达文件末尾时终止。

    但是使用纯批处理非常困难并且有很大的局限性。它需要多个批处理和一个临时文件。第一个批处理过程使用 FIND 从标准输入读取并将输出重定向到临时文件。第二个批处理过程使用 SET /P 从临时文件中读取。请参阅我的batchTee.bat 了解如何做到这一点的示例。

    但我不建议这样做,除非作为学术练习。相反,您应该使用可以轻松执行此操作的其他脚本语言之一。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-26
      • 1970-01-01
      • 2017-01-23
      • 2015-03-07
      • 1970-01-01
      • 2011-05-14
      • 2011-02-19
      • 2011-06-03
      相关资源
      最近更新 更多