java - 如何编写一个批处理文件,自动将输入提供给提示用户输入的java程序
问题描述
我想编写一个批处理文件,自动将输入提供给提示用户输入的 java 程序。
到目前为止,我的代码如下:
set path=C:\Program Files\Java\jdk-13.0.2\bin
javac *.java
java myJavaProgram
问题是当 myJavaProgram 执行时它会提示用户输入,所以批处理文件等待我提供输入以继续执行。我希望能够使用 .bat 自动传递输入。这可能吗?谢谢你的帮助!
编辑:更新问题以包含更多上下文。
更详细地说,当myJavaProgram
从批处理文件执行时,它会提示用户从控制台输入并等待它。我必须给一个字符串。当我写字符串时,myJavaProgram
用扫描仪读取它并用它做一些事情(不重要它做了什么)。然后它终止。我想更改批处理代码,以便在提示输入字符串时不需要编写字符串。我想在批处理文件中使用我的输入字符串设置一个变量,并将其作为myJavaProgram
“绕过”控制台的输入。
解决方案
我找到了解决方案。我首先使用运算符echo
将命令提示符窗口中的命令输出(字符串)重定向到文件。该文件现在包含我想作为输入提供给. 然后我打开并将输出发送到命令提示符窗口,作为使用运算符的输入。代码如下:temp.txt
>
temp.txt
myJavaProgram
temp.txt
myJavaProgram
<
@echo off
If "%Path:~-1%" == ";" (Set "Path=%Path%%ProgramFiles%\Java\jdk-13.0.2\bin") Else Set "Path=%Path%;%ProgramFiles%\Java\jdk-13.0.2\bin"
javac.exe *.java
echo myString> temp.txt
java.exe myJavaProgram < temp.txt
推荐阅读
- python-3.x - 治愈:格式化子图
- python - Python:如何删除列表列表中的重复无序子列表和单调子列表
- python - django如何检查从手机上传的文件的类型
- arrays - 使用转置从列中删除'nil'
- shell - GREP:有没有办法使用 grep 在文件名和模式之间插入文本?
- nginx - 如何让 Nginx 镜像模块不等待响应
- python - 转换熊猫数据框的问题
- python-3.x - python找不到谷歌云模块
- airflow - 如何在气流模板中定义 INT 类型参数?
- android - Gradle Daemon Android Studio:“无法启动守护进程”