我正在运行目录A中的Java代码,并且还有一个myBat.bat文件。我想用Java来执行bat文件。 myBat.bat的内容是:svn update C:\DirectoryB\file.txt
我已经下载了Slik SVN Windows命令行客户端。当我双击bat文件时,它svn正确更新文件。但不是在我运行我的Java代码时。
Process p = Runtime.getRuntime().exec("cmd /C C:\\DirectoryA\\myBat.bat");
测试失败,因为找不到它所期望的file.txt。为了真正测试svn更新,我删除了DirectoryB中的svn文件。双击bat文件会重新填充file.txt。测试失败: 该系统找不到指定的文件) 在java.io.FileInputStream.open
答案 0 :(得分:1)
以这种方式试试,如果你的蝙蝠文件是正确的,那么应该有效:
try {
Process p = Runtime.getRuntime().exec("cmd /c start c:\\DirectoryA\\myBat.bat");
} catch (IOException ex) {
...
}
这个想法是.bat文件不被运行时视为直接可执行文件。