child_process.exec能执行批处理文件吗?
代码: 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";