在独立脚本上运行的函数不能在另一个脚本Javascript,node.js上运行

时间:2015-11-24 05:45:52

标签: javascript node.js

我正在尝试使用 node.js 上的Javascript运行.bat文件。

这是我到目前为止的代码:

function runBat(){
    var exec = require('child_process').execSync;
    var result = exec('C:\\Temp\\tasks\\acis\\runme.bat');
    console.log('result: ' + result);
    };

    runBat();

当我将它存储在单独的脚本中时,此函数可以正常运行。

但是当我使用原始脚本(包含创建bat文件的代码)运行时,bat文件不会运行。

如何让它与其他代码一起运行?

我试图不使用任何回叫,因为它们往往会产生其他问题

抱歉,无法提及你们。我也试图不使用异步函数

2 个答案:

答案 0 :(得分:0)

这应该有用吗??

var spawn = require('child_process').spawn,
    ls    = spawn('cmd.exe', ['/c', 'C:\\Temp\\tasks\\acis\\runme.bat']);

ls.stdout.on('data', function (data) {
console.log('stdout: ' + data);
});

ls.stderr.on('data', function (data) {
console.log('stderr: ' + data);
});

ls.on('exit', function (code) {
console.log('child process exited with code ' + code);
});

答案 1 :(得分:0)

找到解决方案。我所要做的就是在调用函数之前放一个延迟

setTimeout(runBat, 3000);

谢谢大家,感谢您的帮助