2013-06-24 162 views
1

有一个nodejs应用程序(实际上是node-webkit),如何在任何文件夹中的前台启动批处理文件?在前台执行批处理文件

到目前为止,我已经成功地运行具有以下批处理文件:

require('child_process').spawn(pathToBat, [], dirOfBat)

但是这是在后台运行。
编辑为删减:在前台意味着,打开一个单独的窗口来显示批处理文件生成的所有输出。

我试过各种各样的变化与child_process.exec并将批处理文件传递到startcmd但我似乎无法使其工作。任何提示?

+1

你是什么意思在前台运行? –

+0

@AndreasHultgren:在前台,我的意思是在屏幕上显示运行批处理文件的'cmd'进程输出的窗口。我可以看到任务管理器中显示的进程,但该窗口未创建。 – back2dos

+0

这是一个完全不同的东西......我将编辑我的答案 –

回答

1

从我的知识你不能。但你我能管的蒸 child.stdout和child.stdin 到 process.stdout和process.stdin

编辑

从您的评论的解释后,认为你要找的高管或的execfile。

var exec = require('child_process').exec; 
exec('explorer'); exec('notepad'); exec('start cmd'); 

是这样的?

+0

的确,类似的东西,但如果我'exec('cmd')',我没有窗户。 – back2dos

+1

@ back2dos哦...这就是cmd的问题....你需要exec('start cmd'); –

+0

非常感谢!我的问题是,我尝试了像'exec('start',['cmd',args,for,cmd])'这样做:'exec('cmd'start cmd args')'。 – back2dos