![](/img/trans.png)
[英]How to run a specific java file present in eclipse using batch file?
[英]how to run a batch file using java
我想使用Java程序运行批处理文件,当我双击.bat文件时,它要求我输入'D',然后在C驱动器中创建一些文件夹,下面是.bat文件的内容:
xcopy "data" "C:\data" /S
xcopy "rapid" "C:\rapid" /S
subst x: /D
subst x: C:\
我的Java代码如下:
try {
//C:\Desktop\Speed\view_R36_WD_Release\RAPID\switchToLive.Bat
String cmds[] = {"C:\\Users\\608521747\\Desktop\\Speed\\view_R36_WD_Release\\RAPID\\switchToDev.bat"};
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec(cmds);
process.getOutputStream().close();
InputStream inputStream = process.getInputStream();
InputStreamReader inputstreamreader = new InputStreamReader(inputStream);
BufferedReader bufferedrReader = new BufferedReader(inputstreamreader);
String strLine = "";
while ((strLine = bufferedrReader.readLine()) != null) {
System.out.println(strLine);
}
} catch (IOException ioException) {
ioException.printStackTrace();
}
它不会给我任何错误,但不会要求我输入任何值,也不会创建任何文件夹。
我想知道我需要在Java代码中做什么,以便它将要求我输入'D',然后.bat文件应以正常流程继续进行。
任何帮助表示赞赏。
您的代码需要指定用来执行.bat文件的程序。 通过以下修复方法开始缩小范围。
p = run.exec("cmd.exe /c " + cmds);
对于先前在此处回答过的类似问题,也可以尝试使用此链接获取类似的代码 。
批处理文件不是可执行文件。 因此,您将需要运行cmd.exe并将批处理文件作为参数传递。
请参考这篇文章-它解决了相同的问题并提供了一个好的解决方案- 如何从Java应用程序运行批处理文件? 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.