java传参给批处理并调用该批处理

我java里如何传递路径参数到批处理文件中,并执行该批处理文件。在批处理文件中应该怎样设置变量用来接收Java传递过来的参数。... 我java里如何传递路径参数到批处理文件中,并执行该批处理文件。在批处理文件中应该怎样设置变量用来接收Java传递过来的参数。 展开
 我来答
弦诉相思
2015-10-20 · 超过43用户采纳过TA的回答
知道小有建树答主
回答量:119
采纳率:25%
帮助的人:62.7万
展开全部
Process makemenuconfig = Runtime.getRuntime().exec("cmd.exe /k start c:\\text1.bat "+"参数名");
这里调用系统命令行打开一个控制台窗口即cmd.exe,其中/k参数是让结果执行完毕之后不关闭cmd命令行窗口,改为/c则自动关闭,在cmd命令行中使用start命令打开一个批处理文件,批处理文件后面跟的即是参数
寻找逆流的鱼
2010-05-28 · TA获得超过497个赞
知道小有建树答主
回答量:397
采纳率:0%
帮助的人:247万
展开全部
批处理应该像cmd控制台一样,直接在批处理里面写参数就行了,如 java Myclass 10 就行了,main方法本来就有String[]args ,接收参数的,处理一下这个args数组就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d41b00e
2010-05-28
知道答主
回答量:22
采纳率:0%
帮助的人:0
展开全部
参数直接代入批处理可行性似乎不大,我试着用重写批处理文件的方式试了一下是可行的,代码如下:
import java.io.*;

public class Test {

public void writeFile(String path,String str){
try{
FileWriter theFile = new FileWriter(path,true);
PrintWriter out = new PrintWriter(theFile);
out.println("cd \\");
out.println("echo "+str+" >test.txt");
out.close();
theFile.close();

}catch(IOException e){}

}

public void execute(String cmdLine){
try{
String line="";
Process pro = Runtime.getRuntime().exec(cmdLine);
BufferedReader buf = new BufferedReader(new InputStreamReader(pro.getInputStream()));

line = buf.readLine();
while(line != null){
System.out.println(line);
line = buf.readLine();
}
}catch(Exception e){
e.printStackTrace();
}
}

public static void main(String args[]) throws Exception{
Test exe = new Test();
String file = "d:\\test.bat";
exe.writeFile(file, "Hello,world!");
exe.execute("cmd /c "+file);
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式