Java中如何调用bat,并传入参数?

我的测试程序是这样的:
Runtime runtime = Runtime.getRuntime();
String cmd = "cmd /c start D:/del_file.bat";
runtime.exec(cmd);

@echo off
del d:\test /q/f/s
exit
我该如何在程序中把d:\test当做参数传入进去?

我刚才试了这样调用:
Runtime runtime = Runtime.getRuntime();
String cmd = "cmd /c start D:/del_file.bat d:\test";
runtime.exec(cmd);

@echo off
del %1 /q/f/s
exit
一运行,结果我的D盘差点被删光。。。

如果能动态指定bat文件中参数更好。例如: 1.bat中> java -cp Chart2D这里有调用windows程序的例子,你可以参考一下,就在调用的地方吧你的bat文件
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-20
java可使用Runtime.exec执行bat文件,示例代码如下:
import java.io.*;
import java.util.*;
public class TestExec {
public void runbat(int name) {
String cmd = "cmd /c start D:/bat/"+name+".bat";
try {
Process ps = Runtime.getRuntime().exec(cmd);
System.out.println(ps.getInputStream());
} catch(IOException ioe) {
ioe.printStackTrace();
}
}
public static void main(String[] args){
TestExec test1 = new TestExec ();
test1.runbat("abc");
}
}
其中,abc.bat可以是已经存在的bat,也可以是动态生成的bat(如果需要根据已有参数执行bat,则可以使用动态生成bat文件的方式)

Java中如何调用bat,并传入参数?
如果能动态指定bat文件中参数更好。例如: 1.bat中> java -cp Chart2D这里有调用windows程序的例子,你可以参考一下,就在调用的地方吧你的bat文件

java调用bat文件 如何获取结果
Runtime.getRuntime().exec("*.bat").getInputStream()取得InputStream后再打印输出。Runtime.getRuntime().exec("*.bat").exitValue()可以取得运行结果。

怎么在java里打开bat文件,并打开cmd窗口执行,举例一个完整代码。_百度...
import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.util.LinkedList;public class Command { private java.lang.Process p; ...

写了个java程序自动调用a.bat文件,但我想在这个java程序中写入某个参数...
Runtime.getRuntime().exec("a.bat -u a -p b c")

java 中 如何通过命令行来传递参数
命令行中截图:解释一下: String[ ] args 该参数,是一个字符串数组,用来接收从命令行输入的参数 1. 参数之间用空格隔开 2. java解释器会自动处理,把用空格隔开的每一个参数通过args数组传递给买呢()方法。3. 参数的下标从0开始,args[0]表示第一个参数,例如java HelloWorld 10 20 30 4....

.bat调用java文件的命令
第一步:先右击创建一个txt文件,重命名为”run.bat“文件。第二步:将此文件复制到java文件的存放路径下。第三步:右击,选择编辑,之后在里面输入:javac 文件名称.java \/\/第一行是为了编译java文件为class文件 java 文件名称 \/\/本句话是为了执行class文件进行运行 备注:bat文件默认的就是执行...

java 运行bat文件并弹出CMD窗口
public static void main(String[] args) throws IOException { Desktop.getDesktop().open(new File("d:\/abc.bat"));} 最简单的 Runtime.getRuntime().exec("cmd.exe \/C start D:\\\\abc.bat"); 解决不弹框只需要“start”后面加一个参数“\/b”就行:

bat脚本如何调用JAVA程序
按你的具体情况来> arg0:你的class或jar文件所在目录 arg1:你需要引入的jar文件,如果你已经在window的classpath里配置过或者不需要,那这句可以去掉 arg2:java类(*.class或*.jar)文件 arg3 arg4..:若干个参数,如没有也可以去掉 前提是你安装了jdk,并配置了环境变量 ...

bat脚本怎么写,用参数问题
第一种 cd\/d "%~dp0"for \/f "delims=" in ('dir\/b *.apk^|findstr\/iev "_s\\.apk"') do (java -jar signapk.jar testkey.x509.pem testkey.pk8 "%%i" "%%~ni_s.apk")第二种 cd\/d "%~dp0"for \/f "delims=" %%i in ('dir\/b *_s.apk')do ( set fn="%%~ni" ...

一个进程调用bat,调用之前代码中将sqlcmd的路径设置到环境变量中,bat...
第一步:更改权限;默认文件没有可执行权限 chmod g+x jdk-6u12-linux-i586.bin 第二步: 安装 sudo -s .\/jdk-6u12-linux-i586.bin 安装完毕,下面配置环境变量 配置classpath,修改所有用户的环境变量 sudo vi \/etc\/profile 或者 $sudo gedit \/etc\/profile 在文件最后添加 set java ...

相似回答