从批处理文件开始读取Java中的STDIN

时间:2018-11-27 00:14:04

标签: java batch-file stdin

我有一个控制台Java应用程序,它依赖于许多jar软件包。因此,我将所有这些软件包放在一个批处理文件中。唯一的问题是,如果我从批处理文件启动Java应用程序,则无法从STDIN中读取。我的意思是,我想处理一些在控制台上键入的用户输入,但是在应用程序中什么也没发生。

要从批处理中启动应用程序,请使用以下代码(基于此thread):

setlocal
for /F "tokens=*" %%a in ('more') do (
  #%%a java  -classpath ...
)

如果我只是从批处理中调用Java应用程序而没有FOR循环,那么我也将无法访问STDIN

如果我直接从cmd启动应用程序,则可以毫无问题地从STDIN读取内容。

This是我从STDIN中读取的代码。

我真的很想使用批处理文件,因为Java应用程序的命令行很长。

是否有把STDIN重定向到Java或至少重定向到文件的技巧?

0 个答案:

没有答案