我正在寻找通过命令行执行外部程序,但我发现只有当程序存在于我从中调用它的目录中时我才能这样做。我希望能够从任何目录执行程序。
我已经为 Windows (7) 设置了 Path 变量,并且能够使用命令行从任何目录手动执行程序;但是我无法通过 Java 做到这一点。
相关代码:
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec(new String[]{"C:\\AutomateKPI\\GetLog.exe", "-e", rossIP});
我的问题是上述程序的输出产生了一个通用命名的文件“log.txt”。这将在线程化我的程序时导致问题。如果无法使用路径变量,或者我可以将程序复制到新目录中,然后将其删除。我想避免这样做。
编辑:上述代码的工作原理是 GetLog.exe 位于 C:\AutomateKPI 中。我想引用 %PATH% 以便我可以从 C:\AutomateKPI\*NewDir* 运行 GetLog.exe