我正在尝试制作一个程序,在 Windows 上运行时将执行 bat 文件,在 Linux 上运行时将执行 sh 文件,但我需要 bash/sh 文件才能从特定目录开始运行。
例如:
我的程序位于 C:\Program\test.jar
我的 bash 文件位于 C:\File\start.bat
我想让 java runnable 从它的文件夹而不是 test.jar
运行目录执行 start.bat
文件。
我尝试使用 Runtime.getRuntime().exec("cmd/C start\"\"\"C:\File\start.bat"");
它有效,但它从 C:\Program\test.jar
运行 bat 文件,对于 bat 文件的功能,我需要它从 C:\File\start.bat
运行.
我也需要为 Linux 做同样的事情,所以我在这里问,因为在修复 bat 问题后,这个问题可能也会困扰我。
最佳答案
使用ProcessBuilder
并使用 ProcessBuilder::directory
设置工作目录
关于java - 如何使用Java在windows上启动bat文件,在linux上启动sh文件从特定目录运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44034913/