Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用批处理文件在每个步骤中自动为jar文件提供输入?_Java_Batch File_Jar - Fatal编程技术网

Java 如何使用批处理文件在每个步骤中自动为jar文件提供输入?

Java 如何使用批处理文件在每个步骤中自动为jar文件提供输入?,java,batch-file,jar,Java,Batch File,Jar,我使用一个准备好的jar文件来处理1000个HTML文件。由于文件的数量很大,我想自动完成这个过程。我要读取的HTML文件的名称是result\u 1到result\u 1000,所有这些HTML文件都位于名为Results的文件夹中。我想在FOR循环中处理所有这些结果文件 此jar文件提示用户输入工作目录。进入工作目录后,它会提示输入文件名。输入文件名后,将提示处理方法 我正在使用这部分代码来处理结果。但是它不好用。我对这个jar文件及其工作原理一无所知。我编写这部分代码是为了尝试它是否正确处

我使用一个准备好的jar文件来处理1000个HTML文件。由于文件的数量很大,我想自动完成这个过程。我要读取的HTML文件的名称是
result\u 1
result\u 1000
,所有这些HTML文件都位于名为
Results
的文件夹中。我想在FOR循环中处理所有这些结果文件

此jar文件提示用户输入工作目录。进入工作目录后,它会提示输入文件名。输入文件名后,将提示处理方法

我正在使用这部分代码来处理结果。但是它不好用。我对这个jar文件及其工作原理一无所知。我编写这部分代码是为了尝试它是否正确处理了一个结果文件,但它什么都不做。它只运行java文件而不传递输入

我认为在通过这个批处理文件运行jar文件之后,它将控制权交给jar文件,然后无法从批处理文件获取输入

我不知道如何解决这个问题

你能帮我处理这些文件吗

@echo off
set "workingdirectory=C:\Results"
set "filename=result_1.html"
set "processingmethod=methodD"
cd C:\JavaFolder
java -jar myjavacode.jar "%workingdirectory% %filename% %processingmethod%

这将启动和停止JVM 1000次,这不是很好。我建议您尝试以编程方式调用main方法,除非该main方法使用
System.exit()
(或等效工具)退出,并将安装自己的
SecurityManager

,因为我在阅读任务描述时了解到Java应用程序需要该目录,标准输入流STDIN中的文件名和方法,而不是启动时的参数。在这种情况下,您需要动态创建一个文本文件,第一行包含目录,第二行包含文件名,第三行包含方法,并使用
@Mofi重定向此文件。我尝试了此方法,它可以读取,我从文本文件中输入它可以读取工作目录,但不能读取txt文件的其余部分,如果一个应用程序是为与人类用户交互而编写的,而不是为脚本化的使用而编写的,那么使用脚本化的应用程序肯定会遇到真正的问题。如果可能的话,修改Java应用程序以接受命令行中的3个字符串作为参数。如果因为无法修改Java代码而有必要,请联系Java应用程序的作者。
@echo off
cd C:\JavaFolder
for /l %%k in (1, 1000, 1) do java -jar myjavacode.jar C:\Results result_%k.html methodD