.hta希望Windows Script Host Exec()的功能更像Run()

时间:2014-05-01 13:30:50

标签: javascript windows hta

我有一个通过javascript执行多个任务的html应用程序。有些不需要我知道它们何时完成,所以我使用ActiveXObject(" WScript.Shell")。运行()。我不想等待一些任务,因为我有其他事情要做,但我需要知道什么时候完成,所以我可以开始一个依赖任务,所以我使用ActiveXObject(" WScript.Shell") .Exec()并且可以监视javascript setInterval()中返回的WshScriptExec对象。

有问题的任务是调用visual studio构建的批处理文件,一些分发批处理等。主批显示自己的输出,它调用的项目有窗口和它们显示的其他输出。

我遇到的问题是Exec()创建了一个子命令shell,它调用的批处理没有显示,并且它调用的进程的窗口没有显示。我不想捕获stdin / out / err,但是想让Exec()更像Run()并且只是启动批处理,但是返回WshScriptExec以便我可以监视它是否已经完成。

这有可能以任何方式存在,还是有其他一种解决方法?

谢谢

1 个答案:

答案 0 :(得分:0)

var e=sh.Exec("%comspec% /c testbatch.bat >con")

它并不完美:批处理文件无法访问输入,如果有一些控制序列,输出可能会失真。但它确实可以让你看到发生了什么。