【问题标题】:How to drag and drop multiple Files on .bat?如何在.bat 上拖放多个文件?
【发布时间】:2017-06-18 20:52:47
【问题描述】:

基本上我是个新手,现在我遇到了一个问题,即使在阅读了关于这个主题的所有其他相关帖子后我也无法解决:( 我正在尝试使用两个参数启动一个 .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
}

【问题讨论】:

    标签: java windows batch-file cmd


    【解决方案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。

    -提示拖放文件,然后当你按下回车键时,它会将你拖动文件的路径存储到%file1%

    -提示拖放文件,然后当你按下回车键时,它会将你拖动文件的路径存储到%file2%

    -ECHO 两个变量 %file1% 和 %file2% 以确保它们被正确保存(可选,当你知道它有效时,你可以删除该部分)

    -使用之前保存的两个参数(路径)运行 .JAR 文件

    【讨论】:

    • 我只是认为用户将一个文件一个接一个地拖动会更好,但如果像你说的那样不可能,我想我会同意你同时删除两个文件的提示。在我开始一个接一个地考虑之前,这实际上是我的解决方案。 -嗯,我想我学到了一些东西 XD 谢谢你
    • 不客气,如果您需要一个接一个地拖放文件,我刚刚更新了我的解决方案的答案,它有时会派上用场!很高兴我能帮忙
    • 也许您可以再回答我一个问题:如何在执行我的 .jar 文件时使 dos-Window 不可见。 (因为程序实际上比我上面显示的代码要大得多。)
    • 最小化运行是否足够(屏幕上看不到,但任务栏中会显示图标)?还是您希望它完全不可见?
    • 如果它完全不可见会更好。如果在.bat代码执行时窗口最小化,然后窗口完全关闭,java代码可以继续运行,那就没问题了。
    猜你喜欢
    • 2019-10-26
    • 2016-08-15
    • 2010-11-09
    • 1970-01-01
    • 2020-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-28
    相关资源
    最近更新 更多