【问题标题】:How to run bat file in different directory如何在不同目录中运行bat文件
【发布时间】:2021-08-26 11:07:58
【问题描述】:

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

我的文件组织如下

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

所以,我的主要问题是,我使用 teste.bat 来运行我的类 Systemm.java。而且这只蝙蝠很好用。

我还想做的是在 java 中调用 exec_server.bat。

依次:

  • teste.bat 运行 Systemm.java
  • Systemm.java 有一个 Communication.java 类的实例
  • 此实例运行应运行 exec_server.bat 的方法

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 上显示此消息

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

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

P.S:我在 src 目录上调用 cmd,exec_server.bat 只回显消息“您好!”在cmd上

【问题讨论】:

    标签: java batch-file cmd path


    【解决方案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();
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-15
      • 2010-11-09
      • 1970-01-01
      • 2016-05-29
      • 1970-01-01
      • 2021-08-16
      相关资源
      最近更新 更多