Javascript 如何在jrunscript或jjs中访问stdin(在win7上)

Javascript 如何在jrunscript或jjs中访问stdin(在win7上),javascript,windows,batch-file,Javascript,Windows,Batch File,我在谷歌上搜索了很多次,但没有找到任何东西告诉我在使用jrunscript执行JS时如何访问stdin 这似乎不可能 用例: 我想写一个小JS脚本,在cmd上使用regex替换,我想通过管道传递文本数据,例如 >cat file | jrunsscript -f apply-regex.js 。。。结果出来了(我可以通过管道将结果写入文件等) 因此,我需要访问stdin以读取通过管道传输到jrunscript的内容 旁注:为此,我通常使用sed,但在某些情况下,正则表达式本身包含引号时会

我在谷歌上搜索了很多次,但没有找到任何东西告诉我在使用jrunscript执行JS时如何访问stdin

这似乎不可能

用例: 我想写一个小JS脚本,在cmd上使用regex替换,我想通过管道传递文本数据,例如

>cat file | jrunsscript -f apply-regex.js
。。。结果出来了(我可以通过管道将结果写入文件等)

因此,我需要访问stdin以读取通过管道传输到jrunscript的内容


旁注:为此,我通常使用sed,但在某些情况下,正则表达式本身包含引号时会出现问题。

不确定这是否与主题有关:

读取(提示,多行)
之后从标准输入中读取一行或多行 打印提示

根据您的评论,我认为您需要使用如下参数:

用法:

jrunscript-f test.js“Hello World”

获取参数:

document.write(参数[0])

通过进一步研究,您可以通过互动模式阅读:

jrunscript-f-

交互式模式,从标准输入读取脚本。如果使用此选项,则应为最后一个-f选项


但仍不清楚这是否正是您要查找的内容。

不确定这是否与主题有关:

读取(提示,多行)
之后从标准输入中读取一行或多行 打印提示

根据您的评论,我认为您需要使用如下参数:

用法:

jrunscript-f test.js“Hello World”

获取参数:

document.write(参数[0])

通过进一步研究,您可以通过互动模式阅读:

jrunscript-f-

交互式模式,从标准输入读取脚本。如果使用此选项,则应为最后一个-f选项


但仍不清楚这是否正是您想要的。

目前的解决方法是

  • 通过管道将输入导入文件
  • 将tempfile作为arg传递给jsrunscript
  • 根据需要使用JS输出

  • 目前的解决办法是

  • 通过管道将输入导入文件
  • 将tempfile作为arg传递给jsrunscript
  • 根据需要使用JS输出
  • 学习一下Java

    在文件
    JJS\u中说\u HI.js

    //Java-y位
    var br=new java.io.BufferedReader(
    新的java.io.InputStreamReader(
    java.lang.System.in,
    java.nio.charset.StandardCharsets.UTF_8)
    );
    //JavaScript-y位
    var line=“”;
    while(br.ready()){
    line=br.readLine();
    打印(“JJS说:${line}”);
    };
    
    用如下命令测试整个混乱:
    echo Hi!|jjs-编写jjs_说_HI.js

    输出是
    JJS说:嗨(在Windows上)

    试试Java

    在文件
    JJS\u中说\u HI.js

    //Java-y位
    var br=new java.io.BufferedReader(
    新的java.io.InputStreamReader(
    java.lang.System.in,
    java.nio.charset.StandardCharsets.UTF_8)
    );
    //JavaScript-y位
    var line=“”;
    while(br.ready()){
    line=br.readLine();
    打印(“JJS说:${line}”);
    };
    
    用如下命令测试整个混乱:
    echo Hi!|jjs-编写jjs_说_HI.js


    输出是
    JJS说:嗨
    (在Windows上)

    这与Windows批处理(.bat)文件有什么关系?@Squashman:更新了我的操作。bat将
    jrunscript-f apply regex.js
    分解为
    apply js regex.bat
    这与Windows批处理(.bat)有什么关系文件?@Squashman:更新了我的OP.the.BAT将
    jrunscript-f apply regex.js
    分解成
    apply js regex.BAT
    抱歉,这没有切断它。更新了我的OP以提供更多的上下文抱歉,没有删掉它。更新了我的OP以提供更多上下文