单独运行.bat文件和.sh文件,具体取决于操作系统

时间:2014-01-06 05:29:31

标签: java

我希望能够使用相同的Java应用程序在Windows系统上运行.sh和.bat文件。 有没有办法做到这一点? 提前谢谢。

2 个答案:

答案 0 :(得分:4)

有一个内置的api用于在Java中查找操作系统。

System.getProperty("os.name");

然后,您可以撰写caseif else。像...

private String os = System.getProperty("os.name").toLowerCase();

if (os.contains("windows"){
  p = Runtime.getRuntime().exec("your batch file");
  p.waitFor();
} else if (os.contains("mac"){
  p = Runtime.getRuntime().exec("your sh file or dmg");
  p.waitFor();
} else {
  p = Runtime.getRuntime().exec("your .sh file");
  p.waitFor();
}

答案 1 :(得分:0)

/**
 * @Reff http://www.tutorialspoint.com/java/lang/system_getproperties.htm
 */

import java.lang.String;

public class Main {

    /**
    * @param args the command line arguments
    */
    public static void main(String[] args) {
      String os = System.getProperty("os.name").toString();
      System.out.println("OS: " + os );

      if("Windows 8".equals(os)) {
        System.out.println("Windows 8");
      } else {
        System.out.println("Others");
      }
    }
}