【发布时间】:2017-07-28 18:27:19
【问题描述】:
我的脚本的这一部分试图生成一个要克隆硬盘的子代。它基本上可以工作,但我遇到的问题是,当我遇到错误并想要存储输出时,它只存储输出的第一行,不包括我实际需要的东西。我已经在脚本之外运行了命令,它给了我两行输出,如果失败,第二行是错误。那么,我怎么能存储整个输出。非常感谢您的帮助,谢谢!
NtfsPartition.prototype.WriteFs = function(filename, progress, success, error) {
console.log('Writing NTFS FS');
var s = spawn("ntfsclone", ['--restore-image', '--overwrite', this.dev, filename]);
var err_msg = '';
s.on('error', function(err) {
err_msg = err;
});
s.stderr.on('data', function(data) {
err_msg += data.toString();
});
s.stdout.on('data', function(data) {
var match = data.toString().match(kNtfsWriteFsProgressRegex);
if(!match) {
return;
}
progress(match[1]);
});
s.on('exit', function(code) {
if(code != 0) {
console.log(err_msg);
return error('Error: ' + code + ' - ' + err_msg);
}
success();
});
}
【问题讨论】:
-
欢迎来到 Stack Overflow!这是一个很好的第一个问题,我们期待您对社区做出进一步的贡献。我只是添加了一些标签以使您的问题更容易找到,并且为了将来参考,您可以使用 4 个空格缩进大块代码,而不是使用内联反引号。不过,这些都是非常次要的细节,我相信快速访问help center 会教你一些其他不错的技巧。
标签: javascript node.js error-handling ntfs spawn