基本上我是批处理的小伙子,现在我遇到了一个问题,即使在阅读了关于这个主题的所有其他相关帖子之后我也无法解决:( 我试图用两个参数启动.jar文件(让我们称之为test.jar)。我的批处理文件位于同一目录中。 这是我没有得到的部分: 这两个参数应该是我之前在.bat文件中拖放的文件的文件名。 它应该像这样工作: 我将第一个文件拖放到.bat文件中。然后我将第二个文件放到.bat文件中。现在.jar启动并显示两个文件名。 (最好是如果dos-Window不会被这个看到的话。) (直到现在我只用一个文件得到它但是当我将另一个文件放到.bat上时它只是启动另一个.bat-Window。) 这是我的.jar文件的主要方法:
public static void main(String[] args) {
JFrame frame = new JFrame(); //build JFrame
frame.setSize(400,400);
JTextField t = new JTextField(); //build TextField to display the args
t.setBounds(10, 10, 300, 100);
if(args.length>=1){ //if there is at least one argument, then print out the name of the file
t.setText("First File: "+args[0]);
if(args.length>=2) //if there is more then one argument, then print out the name of the files
t.setText(t.getText()+" Second File: "+args[1]);
else //if there are not more then one argument
t.setText(t.getText()+" 2nd Not found");
}else{ //if there ist no argument
t.setText("1st not found");
}
frame.add(t); //add TextField
frame.setVisible(true); //set Visible
}
答案 0 :(得分:1)
这是一个快速而干净的解决方案,尝试一下,如果我理解正确,这就是你需要的:
@echo off
set file1=
set file2=
echo Drag and drop file one + Enter:
set /p file1=
echo.
echo Drag and drop file two + Enter:
set /p file2=
echo.
echo.&echo.
echo %file1%
echo %file2%
echo.
java -jar FILE.jar %file1% %file2%
pause
代码说明:
- 确保在开始之前清空两个变量file1和file2。
- 提示拖放文件,然后按Enter键将拖动文件的路径存储到%file1%
- 提示拖放文件,然后按Enter键将拖动文件的路径存储到%file2%
-ECHO两个变量%file1%和%file2%以确保它们被正确保存(可选,当你知道它有效时你可以删除那个部分)
-Run .JAR文件,其中包含先前保存的两个参数(路径)