Win10 Node.js execSync错误

时间:2016-09-28 15:15:22

标签: node.js windows imagemagick

我正在尝试创建一个简单的机器人,能够检测到我的PC上发生某些事件的时间(我知道node.js不是最好的解决办法,但我只是想看看我是什么可以用node.js)。

我使用nircmdc.exe截取屏幕截图并裁剪出特定区域。我想将该区域与ImageMagick进行比较,并使用node.js脚本执行其他操作,但我仍然坚持第一部分。

我的剧本:

var child_process = require('child_process');
var output = child_process.execSync('compare.exe -metric mse "images/screenGrab.jpg" "images/knownRegion.jpg" null').toString();
console.log(output);
console.log('Done!');

如果我使用相同的图像,我没有错误:

D:\app\nodejs>node compareRegion.js
0 (0)
Done!

但是如果我使用不同的图像,我仍然可以看到输出,但node.js失败并显示错误

D:\app\nodejs>node compareRegion.js
12660.3 (0.193184)child_process.js:526
    throw err;
    ^

Error: Command failed: compare.exe -metric mse "images/screenGrab.jpg" "images/knownRegion.jpg" null
12660.3 (0.193184)
    at checkExecSyncError (child_process.js:483:13)
    at Object.execSync (child_process.js:523:13)
    at Object.<anonymous> (D:\app\nodejs\compareRegion.js:30:28)
    at Module._compile (module.js:556:32)
    at Object.Module._extensions..js (module.js:565:10)
    at Module.load (module.js:473:32)
    at tryModuleLoad (module.js:432:12)
    at Function.Module._load (module.js:424:3)
    at Module.runMain (module.js:590:10)
    at run (bootstrap_node.js:394:7)

我可以看到结果12660.3 (0.193184),但之后脚本失败了。

有没有办法可以抑制这个错误,因为结果来了,还是做了别的什么?.. Dunno,第一次使用node.js:)

0 个答案:

没有答案