child_process.exec能执行批处理文件吗? - CNode技术社区

child_process.exec能执行批处理文件吗?
发布于 14 年前 作者 zhengpan 13137 次浏览 最后一次编辑是 9 年前
代码: var exec = = require('child_process').exec; 
exec('aa.bat',function(error,stdout,stderr){ 
 		if (error !== null) { 
 console.log('exec error: ' + error); 
 } 
 	} 

我用这个执行批处理文件,报错:exec error: Error: Command failed: execvp(): No such file or directory

如果我想执行上一目录里的bb.bat 是不是这样
exec(’.../bb.bat’,function(error,stdout,stderr){
}

8 回复

可能要用绝对路径吧

应该是cmd aa.bat吧

child_process.exec只执行命令不是文件,bat文件可不是命令,虽然里面的内容是

tankoo 能否再说的详细点,我试了下不行
exec(‘cmd aa.bat’,function(error,stdout,stderr)
exec( ’ '+cmd+‘aa.bat’,function(error,stdout,stderr)
这两种都行不行

@zhengpan 你查一下cmd命令的参数,应该是/a 或者/u的参数吧

@tank00 恩 多谢tank00 找到原因了 我的node版本太旧 还是0.2.4 用0.6.17就好了 呵呵

@zhengpan @tank00 @timesking 可以直接执行代码如下:

var exec = require('child_process').exec; 
exec('test.bat', function(error, stdout, stderr){ 
 if ( !error ) {
 console.log(stdout);
 } else {
 console.log(error);
 }
});

@zhengpan test.bat的代码内容如下:

 echo "hello world";
回到顶部

AltStyle によって変換されたページ (->オリジナル) /