有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在不同目录下运行bat文件

我有一个bat文件,它运行一个名为Systemm.java的java程序,位于名为tp3的包中

我的文件组织如下

.
├── src
    ├── tp3
    │   ├── Systemm.java
    │   ├── Communication.java
    │   └── exec_server.bat
    └── teste.bat

所以,我的主要问题是,我在使用teste。蝙蝠来运行我的课堂系统。JAVA这只蝙蝠很好用

我还尝试调用exec_server。java中的bat

依次:

  • teste。bat运行Systemm。爪哇
  • 系统。java有一个类通信实例。爪哇
  • 此实例运行一个应该运行exec_server的方法。球棒

Communication executeServer() method

public void executeServer() {
        try {
            // Path 
            Process p = Runtime.getRuntime().exec("cmd /c start \"\" tp3\exec_server.bat");
            p.waitFor();
            System.out.println("I finished running your server");
        } catch (IOException | InterruptedException e) {e.printStackTrace();}
    }

但是,当我运行程序时,此方法会在cmd上显示此消息

enter image description here

我几乎是探索cmd和bat文件的新手,所以我真的很困惑我做错了什么

非常感谢您提前提供的任何帮助

附言:我在src目录上调用cmd,并且exec_server.bat 只回显消息“你好!”关于cmd


共 (1) 个答案

  1. # 1 楼答案

    请通过提供完整路径来尝试:

      Process p = null;
        try {
            p = Runtime.getRuntime().exec("cmd /c start D:\\practice\\P1\\samp.bat ");
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }