为了账号安全,请及时绑定邮箱和手机立即绑定

node.js:使用 readline 从文件中获取输入并在 Windows 命令提示符中处理

node.js:使用 readline 从文件中获取输入并在 Windows 命令提示符中处理

守着星空守着你 2023-10-20 16:28:03
我想使用node.js从命令提示符运行 name.js 文件,并传递输入文件并在 output.txt 中重定向该输出,我正在为此编写一个命令,但这node name.js < input.txt | > output.txt不起作用或者我错了。name.js 看起来像这样:const readline = require('readline');const rl = readline.createInterface({  input: process.stdin,  output: process.stdout});var _line = "";rl.on('line', function(line){    _line += line;});rl.on('pause', function(_line){    console.log(_line);});我也尝试过这个Powershell -Command "command"编辑:例如 input.txt 包含hello jshello nodehello world!现在,如果我跑node name.js < input.txt > output.txt。我只是在output.txt中得到console.log()的“ undefined ”的返回值
查看完整描述

1 回答

?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

将_line传递给 rl.on('pause',function( _line ){} 隐藏全局_line这就是为什么它给出 undefined 并且 cmd 命令没问题。


还有其他方法可以通过使用Node.js 的进程 I/O来做到这一点


function YourData(input) {


process.stdin.resume();

process.stdin.setEncoding("ascii");

_input = "";

process.stdin.on("data", function (input) {

    _input += input;

});


process.stdin.on("end", function () {

   YourData(_input);

});


查看完整回答
反对 回复 2023-10-20
  • 1 回答
  • 0 关注
  • 125 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信