我想编写一个批处理文件,它自动向提示用户输入的java程序提供输入。
到目前为止,我的代码如下:
set path=C:\Program Files\Java\jdk-13.0.2\bin
javac *.java
java myJavaProgram
问题是,当myjavaprogram执行时,它会提示用户输入,因此批处理文件会等待我输入,以便继续执行。我想能够通过输入自动,使用.bat。这可能吗?谢谢你的帮助!
编辑:更新问题以包含更多上下文。
更详细地说,什么时候 myJavaProgram
从批处理文件执行,它从控制台提示用户输入并等待输入。我必须给你一根线。当我写字符串时, myJavaProgram
用扫描器读取它并用它做一些事情(它做什么并不重要)。然后它就终止了。我想更改批处理代码,这样当它提示输入时就不需要编写字符串。我想在批处理文件中用我的输入字符串设置一个变量,并将其作为 myJavaProgram
“绕过”控制台。
2条答案
按热度按时间41zrol4v1#
正如@mofi所建议的,更直接的解决方案是使用管道
|
运算符,将第一个命令(echo mystring)的输出通过管道传输到第二个命令(java.exe myjavaprogram)的输入。谢谢你的帮助。
vshtjzan2#
我找到了解决办法。我先重定向
echo
从命令提示符窗口到文件的命令输出(字符串)temp.txt
使用>
接线员。文件temp.txt
现在包含作为输入的字符串myJavaProgram
. 然后我打开temp.txt
并将输出作为输入发送到命令提示符窗口myJavaProgram
使用<
接线员。代码如下: